Python
Python where the work is numbers, a model, or a script somebody has to read a year from now.
MB3 Prepbot drills medical students for MB BS Part III. The archive behind it holds 6,828 records, of which 3,939 are multiple-choice. An internal status file put the usable question count at 2,864.
The real number is 938. A question is only drillable if it has a full answer key, because a limb that cannot be auto-marked cannot be marked at all — build_pool.py drops it. 2,761 questions have no key whatsoever and 240 are partially keyed. The README says so in those words, correcting its own status file.
938 is the honest number, not the 2,864 in the status file.
The temptation is to count the archive, because it is the bigger number and it is true in a narrow sense. But a question with no key produces a drill that cannot be marked, and a drill that cannot be marked is worse than no drill — it teaches a student something unverified. So the pool is the fully-keyed subset. That is 4,420 individually markable limbs, or 442 days at ten a day, which is the full year-out runway the bot is actually for.
Posted to Telegram, marked automatically, with a leaderboard at close of play. Solo spaced repetition is a solved problem; doing it alone at six in the morning is not.
Because that is what the exam uses. A practice tool that scores differently from the real paper is training the wrong instinct.
596 of them — 240 Paediatrics, 356 O&G — as photo cards, because a chunk of the exam is recognising an image.
Where the strongest students consistently agree against the recorded key, that is signal. It is how the 2,761 unkeyed questions can be recovered without inventing answers.
The 938 is the honest number, not the 2,864 in QUESTION-BANK-STATUS.md.
mb3prepbot/README.md, correcting its own status fileThe analysis service inside Voxtar: recorded speech in, acoustic measures out, compared against that person’s own baseline rather than a population average — which is the only comparison that means anything for a voice.
Reached 1.0.0 on PyPI in 18 days across 52 commits.
120 metaheuristic optimisation algorithms brought to PyTorch, with GPU-batched fitness evaluation.
Numerical work, a model in the loop, or a script that has to still be legible when I come back to it after six months on something else.
mb3prepbot
The README is the document to read — it opens by correcting its own status file, which tells you more about how the project is run than the code would.
The smaller number was the one worth publishing.
Nothing else on this page matters as much as that. A question bank counted generously is a question bank that marks a student wrongly, and the student has an exam.