Inspiration

In a class of 90 students or more, a teacher finishes correcting tests and knows that different students made mistakes in different questions and few common mistakes were done so it will take a lot of time for the teacher to analyse the entire class by each student where they did mistake and so we can automate this diagnosis of each student where they did mistake and what was their thinkg or logical mistake through AI.

What it does

ProgressIQ turns every class test into a closed diagnostic loop:

  1. The whole class takes the same test
  2. AI diagnoses why each student went wrong — not just what they got wrong. It identifies the exact broken rule in their thinking (e.g. "adds denominators when adding fractions: 1/2 + 1/3 = 2/5") and cites the specific questions as evidence
  3. The teacher gets a class-wide misconception radar — which distinct misconceptions exist in the room, which students share each one, and a reteaching tip per group
  4. Each student automatically gets a personalized remedial test targeting their specific misconception — different for every student
  5. Students earn rewards for improvement, not rank — so slow learners get wins too and stay motivated

If there isn't enough evidence to identify a pattern, the AI says so honestly instead of inventing a misconception. This keeps the diagnosis trustworthy.

How we built it

  • Frontend: React (Vite) with React Router and plain CSS
  • Backend: Node.js + Express (ES modules)
  • Database: MongoDB with Mongoose
  • AI: Gemini API

The AI diagnosis is a single batched API call — the question bank is sent once, and all students' answers are sent as compact code strings. One call returns both per-student diagnoses and the class-level misconception grouping, keeping cost minimal. Remedial question sets are generated once per distinct misconception (not per student) and cached in MongoDB — so the system gets cheaper the longer it runs. All AI calls are precomputed when a test closes, so dashboard views cost zero tokens no matter how many times they're opened.

Challenges we ran into

The biggest challenge was that when we are trying to send diagnose requests to LLM for each students, it was consuming a lot tokens and it was costly so we made a solution of this by sending all students requests together in a batch which made it cost optimized and less tokens are utilized.

Accomplishments that we're proud of

  • The closed loop actually works end-to-end: same test in → different remedial tests out, per student, based on diagnosed thinking errors
  • The teacher misconception radar genuinely groups students by shared broken rules — not by score band — which is something no manual process can do at class scale
  • The AI correctly declined to diagnose a misconception for the "careless" student, which proves the system doesn't hallucinate patterns
  • The entire diagnosis for a class costs roughly ₹2–3 per test — one batched call, cached remediation, trending toward zero over time
  • Rewards are tied to closing a specific misconception, not to ranking first — so a student who was getting 3/10 and improves to 7/10 gets a bigger reward than a student who was already getting 9/10

What we learned

  • The quality of AI diagnosis is completely capped by the quality of question design. A wrong answer option that doesn't encode a specific broken rule gives the AI nothing to detect. Building misconception-mapped distractors is harder than it looks and more important than anything else in the system.
  • "AI-powered" means nothing if the output isn't reliable. The honesty instruction — telling the model to admit when evidence is insufficient — was more important than any other part of the prompt.
  • Designing for cost from day one changes architecture decisions fundamentally. Batching, deduplication, and caching aren't optimizations you add later; they have to be in the data model from the start.
  • The difference between a quiz app and a diagnostic tool is one step: inferring the rule behind the error, not just marking it wrong.

What's next for ProgressIQ

  • Prerequisite archaeology — tracing today's fraction misconception back to a division gap from two years ago, so remediation attacks the root cause, not just the symptom
  • Item analysis — automatically flagging the teacher's own badly written questions (broken distractors, no discrimination between strong and weak students)
  • Longitudinal tracking — showing whether a diagnosed misconception resolved after remediation or persisted into the next test
  • Multi-subject support and a teacher-facing question bank editor
  • Real authentication and a parent-facing progress view

Built With

Share this project:

Updates