Question Bank with Automated Checks
A question-bank pipeline that checks answer keys, formulas, and images automatically before questions reach students.
- Status
- Live
- Layers
- DataAutomationBackend
- Used by
- The content team that writes questions, and the students who rely on correct answer keys.
The problem
One wrong answer key marks students incorrectly and erodes trust, yet checking thousands of questions by hand isn't realistic.
The solution
Every question passes automated gates: exactly one correct option, answers recomputed with SymPy, formulas that render, and images that exist. Mock-exam questions are written alongside a checker that recomputes the answer.
How it works
What happens, step by step, from the user's point of view.
- 01
Questions written as files
The content team writes questions, keys, hints, and solutions in the repository, grouped by skill.
- 02
Keys recomputed by machine
For calculation questions, a SymPy-based checker recomputes the answer, and it must match the written key.
- 03
Quality gate checks everything
There must be exactly one correct option, formulas that render, images that exist, and no leftover template text. A single error rejects the question.
- 04
Question variants from templates
Some questions are generated from templates with repeatable random numbers, and every variant is checked the same way.
- 05
Dry run, then publish
The owner starts the publishing workflow by hand. The first run only produces a report; the next run publishes the questions that passed.
- 06
Version history is kept
A corrected question becomes a new version, and removed questions are retired without losing their history.
System design
Who uses it, what they see, what works behind the scenes, and where the data lives. Read it from left to right.
1People
- Content teamWrites and fixes questions in the repository.
- StudentsOnly receive questions that have passed the checks.
2Question sources
- Static question bank9,754 questions in files, mapped to 543 skills.
- Mock-exam questionsWritten together with a function that recomputes the key.
3Automated checks
- Quality gateChecks keys, formulas, images, and completeness; one error means rejection.
- SymPy mathsRecomputes maths answers automatically.
4Publishing and storage
- GitHub ActionsSyncs the repository into the database, then publishes what passed.
- DatabasePostgreSQL keeps every question version for practice and mock exams.
Key features
- Answer keys recomputed
- Formula and image checks
- Auto-publish when checks pass
- Question variants from templates
- Controlled release workflows
Built with
- Python
- SymPy
- PostgreSQL
- GitHub Actions
- KaTeX
Numbers you can check
- 9754
- Questions in the static bank
- 543
- Mapped competencies
What the business gets
- Students aren't marked wrong because of a mistaken answer key.
- Thousands of questions can be checked without reading each one.
- Faulty questions are held back before they reach students.
- Fixes are recorded as new versions, so the history isn't lost.
Terms on this page
- SymPy
- A Python library that works out algebra and formulas exactly, like a very careful calculator.
- Quality gate
- A list of automatic checks something must pass before it can go live.
- GitHub Actions
- A service that runs automatic tasks, such as checks and publishing, on GitHub's servers.
- LaTeX
- A way of writing maths formulas with text commands so they display neatly.
Can it work for your business?
The same automated checks work for product catalogues, price data, or any content that must be right before it goes live.
Ask about this project