
Curate your team's MCQ pool once. Reuse it across exams, study-plan practice, and adaptive sessions — with topic, tag, and difficulty filtering, soft-delete safety, and zero AI cost on bank-sourced runs.
Flexible header matching — your existing spreadsheet works. Per-row validation flags malformed rows without aborting the whole batch. 160+ rows in a single upload.
Full WYSIWYG: stem, four options, correct letter, explanation, topic, difficulty, tags, optional image. Same form for create and edit.
After reviewing an AI-generated exam, copy the keepers into the bank with one click. The AI handles cold-start; humans curate the long tail.
Free-text labels you control — "Cells", "Photosynthesis", "Algebra 1". Indexed for instant filter.
Add as many tags as you need ("ncert-chapter-3", "uae-curriculum", "homework"). Backend-agnostic filtering works on SQLite and PostgreSQL identically.
Easy / Medium / Hard — used by adaptive distribution at practice time.
Removed items disappear from picker and practice, but historical analytics still resolve their references. No data loss.
Pick N items from the bank → a real ReusableCustomExam snapshot you can assign, share via link, schedule, and report on. Carries a blue "Bank" badge in the picker so admins know its source.
Configure a study-plan module to draw practice questions from the bank with a topic or tag filter. Students click "Take Practice Exam" and get N items from the bank — instant, free, deterministic.
Bank picks honor the same easy/medium/hard distribution the AI path uses — driven by the student's recent performance, not a flat random sample.
Use the picker on the org-side study-plan editor. Soft-deleted exams are filtered automatically.
Each link carries its own AI-on / cheating-monitor toggle. Same exam can run with AI on in one module, off in another.
Dashboard, CSV export, PDF report card, and progress views all resolve assignment per link — not per exam — so multi-link state never bleeds.
Per-module setting picks the source: bank (no AI cost), materials-aware AI, or generic AI. Optional at-click chooser lets students override when you allow it.
One is_active=False flip and the exam disappears from every student-facing surface: the Start button, the CSV stats export, the PDF report card, the unified learning dashboard, retroactive bulk-assign for new students. Link rows are preserved in case you ever need to audit who saw what.
Why this matters: in most platforms, deleting an exam still leaves zombie links that 404 mid-test. Ours filter at every read path.
Upload the year's MCQs as one CSV at the start of term. Every chapter test, weekly quiz, and revision practice draws from the same pool. Students get consistent question quality; teachers stop rewriting the same item three times.
Curate a "verified by faculty" pool used as the trusted ground truth for practice runs. Reserve AI generation for variety — but score every formal assessment against the bank-built exam so explanations match the rubric you actually teach.
Org hierarchy controls who sees which slice of the bank. Parent org curates shared content; branches contribute branch-specific items. Role-aware permissions: examiners create, admins moderate, super_admin spans branches.
Inline edit screen with explanation, difficulty, and tags. Per-item stats (attempt count, % correct) help spot ambiguous items. Bulk actions: change difficulty, retag, activate / deactivate in one sweep.
The Question Bank really shines when each module's practice mode draws from the bank — instant, deterministic, zero AI cost. See how per-link overrides and the at-click chooser work together.
Smart Study PlansStop rewriting the same MCQ in three exam templates. Build the bank once and let study plans, practice, and reports draw from it.
See All Features View Pricing