Skip to content

Practice Hub

JEE and NEET practice on real past-paper questions, ranked so the learner works on what the exam asks most and where they're weakest.

The rule

Priority = how much the exam cares × how weak you are

  • How much the exam cares comes from the past-paper bank: each chapter's share of questions, weighted toward recent years (a question from 7 years ago counts half). Same for every learner.
  • How weak you are comes from the learner's own practice attempts.

Multiplying means a chapter ranks high only when both are true. A heavily tested chapter the learner already owns ranks low. So does a weak chapter the exam barely asks.

No LLM is involved. It's a deterministic function, so every rank can be explained to a learner who asks "why this chapter?"

Cold start

A chapter with no attempts is assumed to sit at its difficulty level, not at zero. So a hard untouched chapter outranks an easy one of equal weight. Accuracy shows a dash until there are attempts. One lucky answer doesn't swing a rank: accuracy is shrunk toward the chapter's difficulty until there are enough attempts.

A chapter is marked mastered only when the learner has attempted every question in it and cleared 80% accuracy.

Two faces

No exam target yet: a Start practice button that opens a wizard, and JEE and NEET tiles that set the target in one tap.

Exam target set: subject tabs (Physics, Chemistry, and Mathematics or Biology), a ranked grid of chapter tiles with weightage and progress rings, and a habit strip with today's focus chapter and phase (diagnose, master, simulate).

The exam family comes from the learner's explicit choice first, then onboarding, then their subjects (PCM means JEE, PCB means NEET).

Start-practice wizard

For learners without an exam target, or practising outside one. Three steps: subject, then chapters (or a free-text topic if the subject has no past-paper bank), then aim: build fundamentals, clear a doubt, speed practice or full test.

If the subject has no bank, the learner goes to the chat tutor with their topic and aim already stated.

Practice sessions

A session is 10 text-only questions from the chapter, one at a time, with a mixed difficulty. The server grades each answer and returns the explanation. The correct answer never ships in the session payload. Ask AI opens the tutor with the question, the learner's answer and the correct answer.

Every session is saved as a practice test in Artifacts, named like "Optics · Test 2". A retake runs the same questions again as a new attempt on the same test. The review shows the latest attempt and the change from the previous one.

Free and Pro

Everyone can browse the Hub. Free learners can practise the top-ranked chapter of each subject. Other chapters show a lock and open the paywall. The backend enforces it too.

Honesty rules

  • If the bank has no data for the learner's exam, the Hub shows an empty state with a reason, never a fake plan.
  • Streak and due-revision counts on the habit strip aren't computed yet and currently read zero.

Mobile

The two faces are on Android. The wizard isn't yet, so Start practice opens the chat tutor there.

Where it lives

Learner code lives in MySetu-AI/kwiloai-b2c; paths below are relative to its apps/web/src and apps/backend/src.

  • API: GET /api/v1/practice-hub, GET /api/v1/practice-hub/catalog, PATCH /api/v1/practice-hub/exam-target, /api/v1/practice-sessions
  • Backend: services/plan_engine/, services/exam_bank/, services/practice_session/
  • Web: pages/b2c/PracticeHub/, pages/b2c/PracticeStartWizard/
  • Data: the question bank lives in the separate knowledge_base_status database. See Data and AI.