RSS Amplifier

Devs are Jedi · Jul 4, 2026

Building Prep-Pilot, an AI powered personalized Learning Platform

0
Sign in to vote or save

This page did not load. You can still read it on the original site — the toolbar below keeps your place in the directory.

Preparing for NEET is mostly solving questions, checking the answer key, and moving on to the next set. But knowing that you got something wrong isn't the same as knowing why you got it wrong or what

Preparing for NEET is mostly solving questions, checking the answer key, and moving on to the next set. But knowing that you got something wrong isn't the same as knowing why you got it wrong or what you should revise next.

That was the idea behind Prep-Pilot.

What started as a search for a clean NEET question dataset slowly turned into a full-stack platform with AI-powered analysis, automatic flashcard generation, spaced repetition, and a mistake journal. This post is less about the feature list and more about the engineering decisions, trade-offs, and lessons I picked up while building it.

Note: This is still a work in progress, but it's reached a point where real users can start shaping what it becomes.


What is Prep-Pilot?

Prep-Pilot is a NEET preparation platform where students can take mock tests, receive AI-powered feedback on their weak areas, and revise using automatically generated flashcards.

The goal isn't just to tell students their score. It's to help them understand why they lost marks and what they should study next. It's something I wish I had while I was preparing for these competitive exams.

The stack is intentionally simple. No exotic frameworks or unnecessary abstractions, just tools that are well documented, reliable, and easy to maintain.


The Stack

Layer Tool Why
Frontend + API Next.js App Router Full-stack in one repository
Database + Auth Supabase PostgreSQL, Google OAuth, RLS
AI Gemini 2.5 Flash Fast structured JSON generation
Local AI Ollama + Gemma Batch chapter classification without API cost
Styling Tailwind CSS Fast iteration
Math Rendering KaTeX Proper rendering for Physics & Chemistry
Deployment Vercel + Hostinger DNS Simple production deployments

The Question Bank Problem

Before writing the application, I spent far longer than expected looking for a usable NEET dataset.

Some were stemmed beyond recognition.

Some had questions but no answers.

Some had explanations that contradicted the answer key.

Some looked perfect until I realised images or options were missing.

Eventually I combined multiple datasets and built an import pipeline with deduplication, validation and normalization before importing anything into Postgres.

The biggest lesson was simple:

Always validate your data before writing import code.


Using Ollama + Gemma for Metadata

One problem remained.

Some datasets had clean questions but no chapter information, while others had chapter tags but incomplete questions.

Calling an LLM API for thousands of questions would've been expensive, especially since this was essentially a one-time preprocessing task.

Instead, I ran Gemma locally using Ollama and built a small batch pipeline to classify questions into their respective NCERT chapters.

It wasn't perfect, but it performed surprisingly well. More importantly, I could iterate on prompts, rerun classifications, and fix edge cases without worrying about token costs.

Running the model locally turned out to be one of the most practical decisions during development.


Architecture

The application revolves around a fairly straightforward model:

  • Users authenticate through Supabase.

  • Every completed test creates a test session.

  • Responses are stored per question.

  • AI analysis is generated once and cached.

  • Flashcards accumulate over time instead of being regenerated.

  • Incorrect questions automatically populate the mistake journal.

Everything is protected using Supabase Row Level Security so users can only access their own data.


Keeping AI Boring (On Purpose)

I intentionally limited AI usage.

Instead of making an AI request every time a user clicked something, PrepPilot makes just two Gemini calls for an entire test lifecycle.

1. Test Analysis

One request analyzes the complete test, identifies weak chapters, explains recurring mistakes, and generates study suggestions.

The response is cached permanently, so revisiting the analysis never triggers another API call. Caching reduced api calls and token costs significantly.

2. Flashcard Generation

Flashcards are generated only for weak topics that actually need more cards.

If a student already has four Photosynthesis flashcards, Prep-Pilot creates just one more instead of generating five duplicates.

This keeps API usage low while allowing flashcard decks to grow naturally over time.


Spaced Repetition

Flashcards follow a simplified SM-2 scheduling algorithm.

Cards you struggle with appear again sooner.

Cards you consistently remember gradually move further apart.

Scheduling is handled entirely in the database, making due-card calculations reliable across devices and time zones.


Math Rendering

Physics and Chemistry questions rely heavily on equations.

KaTeX renders every mathematical expression across tests, results, flashcards and the mistake journal so formulas remain readable.


What's Live

  • 8,000+ questions across Biology, Physics and Chemistry

  • Configurable mock tests

  • Secure server-side grading

  • AI-generated performance analysis

  • AI-generated flashcards

  • SM-2 spaced repetition

  • Mistake journal

  • Weekly insights

  • Activity heatmap

  • Google authentication

  • Rate limiting

  • Production deployment


What's Next

The biggest focus now isn't adding more AI.

It's improving the learning experience.

Some things on the roadmap:

  • Better chapter-level mastery tracking.

  • Adaptive question selection based on weak areas.

  • Smarter weekly study plans.

  • Continued question bank expansion.

Prep-Pilot is still very much a work in progress.

Building it taught me that the hardest part wasn't writing the code, it was finding reliable data, deciding where AI actually adds value, and keeping the overall system simple enough to remain maintainable.

The goal was never to build another mock test platform.

It was to build something that could take a student's mistakes and turn them into a concrete revision plan. Everything else in Prep-Pilot exists to support that idea.

Read on dev-jedi.hashnode.dev

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.