The challenge
Schools want computer-based testing without buying servers or hiring developers — and they want it to look like their school, use their questions, and appear on their website. Connectivity can't be a blocker either: an exam that fails when the network drops is an exam a school can't trust.
What we built
- White-label school workspaces — self-serve school registration, each school's own logo, colours and public page.
- School question banks — staff add questions by hand or import them in bulk; school questions stay private to that school.
- Level-gated exam assembly — questions are filtered to the exam's exact class level in the database, so a Primary 2 pupil never sees Primary 5 questions.
- Embed & API integration — schools generate API keys and run exams inside their own website through a hosted player; results flow back into school reporting.
- Offline exams — students download an assigned exam ahead of time, take it without a connection, and results sync automatically and exactly once.
- A Primary 1–6 question bank — 7,248 original practice questions written against the NERDC 2025 curriculum scheme, covering every topic in every subject.
- Staff tools — analytics, report cards with PDF export, rosters, invite codes and subscription plans with seat limits enforced.
How it runs
A JavaScript front end with a school-admin workspace, backed by an Express and PostgreSQL API. Plan billing runs through Paystack. Every part — product design, school workflows, the embed/API layer, offline sync and the curriculum bank — was built and is maintained by User Friendly Sites.