~/work / ibdp-dashboard
IB Results Dashboard
A school coordinator stopped wrestling spreadsheets. Messy IB result files became cohort insight, at-risk flags and an export, in one desktop app.
- Year
- 2025
- Built with
- TypeScript, Next.js, Electron desktop build, spreadsheet parsing
- Kind
- system
What it was
Every exam cycle, a coordinator manually reconciled IB result spreadsheets. No trend tracking, no way to spot an at-risk student, no view of which subject was dragging the cohort.
What I built
Electron and Next.js desktop app with a full data pipeline: SheetJS Excel parsing across merged headers and irregular layouts, a custom metrics engine, Recharts visualisations, risk-band flagging per student, and PDF and CSV export. Strict TypeScript throughout.
What changed
The Kenyan school it was built for used to hand students raw Excel exports. Getting an insight or an observation out of them was slow and easy to get wrong. Now it is one view.
What it gave me
Data cleaning, and parsing spreadsheets made by people rather than by machines, which is most of the real work.
What it shows
This is what the top pricing tier actually buys. Not a page — a surface you run something from.
What you can check
- 6 test files covering the diploma rules engine, the parser and export logic