How DIOPTRA works.
DIOPTRA is opinionated. The defaults push you toward harder recall and more honest readings than a typical MCQ bank. Here’s the why behind each surface.
Recall modes
Every MCQ can be answered in up to five ways. The system picks the hardest available modality by default because recall beats recognition for retention (Roediger & Karpicke, 2006).
- Cloze
- Type the missing word from the key takeaway. Auto-derived if the author hasn't written one.
- Sequence
- Drag steps into the right order. Used for pathways, ladders, OSCE protocols.
- Image-click
- Tap the correct anatomical structure on a BCSC image. Falls back to MCQ if the image isn't ingested yet.
- CONSTRUCT
- Write a free-text answer. Haiku evaluates against the verified reference and your key concepts.
- MCQ
- Classic 4-option fallback. Press Q to switch to it on any card.
Pass-probability
The number on your dashboard is not a smiley score. It’s a 2PL Item Response Theory readout: the system estimates your latent ability θ for each ICO Part as you answer, and projects an expected score on a blueprint-typical exam. The 1σ band shrinks with every observation.
Why honest:the cut score is set at 65% (the public ICO cut is undisclosed, so we under-promise). Below 40 observations, the reading is labelled “low confidence”. We’d rather show uncertainty than fake precision.
Blueprint mandala
The donut on /library is the ICO blueprint mapped onto your data. Slice width = blueprint weight. Slice colour = readiness band (green / copper / red / unhatched). Inner ring depth = your card coverage. Tap any wedge to drill that domain only.
GapMarkers and HonestyStrip
The dashboard ranks your weakest blueprint domains by risk = blueprint weight × (1 − coverage) × (1 − ability sigmoid). The TransparencyStrip on the landing shows our live MCQ count and BCSC index. We do not pad those numbers.
BCSC reference panel
Every published MCQ ships with at least one primary citation. Press R on a graded card to open the BCSC paragraph that the reference points at. The panel pre-fetches in the background as you move through the queue, so it opens instantly.
If you see “BCSC integration unlocks once the source PDFs are ingested,” the dev hasn’t yet runnpm run ingest on this build.
Keyboard
| 1 / 2 / 3 / 4 | Choose option A / B / C / D — commits immediately |
| Space | Next question (after submitting) |
| R | Open verified BCSC reference panel |
| Q | Toggle between recall variant and MCQ fallback |
| B | Bookmark / unbookmark |
| ⌘ + ↵ | Submit a CONSTRUCT free-text answer |
| ? | Open / close keyboard shortcut help |
| Esc | Close drawer / dismiss help |
Errata
See something wrong? Open the MCQ feedback panel and tap Report errata. We read every submission. Fixed issues land on /changelog with attribution unless you opt out.
Adaptive selection (CAT-light)
The Adaptive toggle on /review and /exam ranks the available items by Fisher information at your current θ. High-information items reduce the posterior variance of your pass-probability fastest. We mix Fisher with blueprint weight + a small unseen-item boost so the queue stays balanced.
Diagnostic and onboarding
/onboarding/diagnostic is a 5-question warm-up that produces an initial pass-probability with a 1σ band. The reading persists into your dashboard immediately.
Anki bridge
Drop your .apkg on /anki. Each note is matched against your BCSC corpus by cosine similarity on text-embedding-3-small. You see exactly which cards have a verifiable BCSC anchor and which don’t. Nothing leaves your browser except a single embedding query per note.
Still stuck? Email amr@dioptra.amrsaad.de.