Inspiration

After a personal loss that forced me to step back, I found myself having to re-enter the job market at one of the worst possible times for it. AI is changing how interviews are conducted faster than most prep resources can keep up with. But the thing that frustrated me most wasn't the new formats. It was an older, more personal problem: I knew the material. I'd studied it, shipped code with it, and explained it to teammates. But put me in an interview seat, or frame a familiar concept slightly differently, and my mind would go blank. That's a retrieval and articulation problem, not a knowledge gap. So I built Kovaq to fix exactly that. It's a platform that trains developers to explain what they know under pressure, not just recognise it in a controlled setting.

What it does

Kovaq is an AI-powered concept mastery and interview prep platform for software engineers. Users work through adaptive drills built around concepts mapped to their target role and company type. Each drill surfaces questions in both MCQ and open-ended formats. Answers are scored by AI across three dimensions. Clarity, accuracy, and completeness, giving immediate, granular feedback rather than just a pass/fail. A spaced repetition engine tracks where you're weakest and brings those topics back at the right time, so you're always drilling what actually needs work.

How we built it

The stack is Next.js App Router with TypeScript end-to-end, Drizzle ORM on PostgreSQL (AWS Aurora Serverless v2), while AI is used to generate explanations and assessment questions that run through the Google Gemini API. Behind the scenes, we designed a concept graph with applicability rules that determine which concepts are relevant to each developer, tracking concept mastery progress based on correctness, consistency, and review history instead of simple completion percentages.

Challenges we ran into

The data model for drills went through several iterations before it clicked. I had redundant tables tracking state that was already owned elsewhere, subtle ID mismatch bugs between session records and canonical questions, and a join query that was silently multiplying rows. Initially chose clerk for authentication and learned too late that it doesn't work for Vercel.app Auth also had a breaking edge case when calling services directly from server components that required a non-trivial refactor. Another challenge was making personalisation scalable. Supporting different languages and frameworks required building a flexible applicability system that could recommend concepts without duplicating content across every technology stack.

We also had to carefully handle AI reliability, ensuring the platform gracefully recovers when AI services are unavailable while maintaining a smooth learning experience.

Accomplishments that we're proud of

I'm proud of building a platform that adapts to each developer instead of forcing everyone through the same curriculum.

I'm especially proud of our mastery tracking system and AI-assisted learning experience. Together, these create a platform that feels more like a personal mentor than a traditional online prep. We also built the project with a scalable architecture, making it easy to expand to additional programming languages, frameworks, and learning experiences in the future.

What we learned

Building Kovaq reinforced that effective learning is driven by personalization and repetition rather than content volume. I learned the importance of modelling knowledge, designing adaptive learning systems, and combining AI with structured educational principles instead of relying solely on content generation. I also gained valuable experience designing scalable backend systems, building recommendation logic, and creating metrics that represent actual learning progress. Data ownership matters more than you think it does early on. The moment you're unclear about which table is the source of truth for a piece of state, you're accumulating debt that can compound really quickly.

What's next for kovaq

Our vision is for Kovaq to become an intelligent learning companion for software engineers at every stage of their careers. We plan to expand support for more programming languages and frameworks, improve adaptive recommendations, introduce collaborative learning features, and provide deeper insights into developer strengths and weaknesses. Long term, we want Kovaq to become the platform developers rely on to continuously improve their skills and confidently stay current in an ever-changing technology landscape

Built With

  • aurorapostgresql
  • drizzle
  • geminiai
  • nextjs
  • reacthookform
  • reactquery
  • shadcn
  • typescript
Share this project:

Updates