The case study
Context
Private basic schools run on fees. Receipts, attendance and report cards often live in exercise books, and proprietors cannot easily tell whether this term’s fees will cover the next payroll.
The challenge
Serve the owner’s bigger picture and the teacher’s daily loop in one system — on phones, on the web and on poor connections.
What we built
- The owner’s three numbers: collected this term, still owed, and whether fees cover the next payroll — then term profit and loss and cash flow.
- Fee structures, invoices, part-payments, receipts, arrears and payment links.
- Absent-only attendance and a marks grid, and one-page report cards shared by SMS or WhatsApp.
- Payroll with statutory deductions, payslips and expenses.
- Lesson notes, daily logs, a parent portal and records exports.
- Separate roles for owner, head, administrator or bursar, teacher and parent.
Engineering scope
One Flutter codebase for Android, iOS and the web on Firebase, with 24 modules and a large automated test suite, including golden tests for the interface.
Design decisions
- Answer the owner’s question first, then show the detail underneath.
- Ghana defaults preloaded: class ladder, terms, subjects and grading scales.
The build
Oxie v1.1 is built for Android, iOS and the web and tested against demo schools. Online payments, SMS and store listings are not yet switched on.


