One system for the whole school
Enrolment, attendance, results, fees and a pupil portal — built around a term and a class arm instead of a spreadsheet, and designed for the phone a teacher actually owns.
- 30 days free
- No card to start
- Cancel anytime
Take school fees through the gateway you already use
Everything a school runs on, already built
Every item here is in the product today, not on a roadmap.
Enrolment as the spine
A pupil is never loosely "in JSS 2". They hold an enrolment binding them to a class arm, in a term, of a session — so attendance, results and fees hang off something real.
Learn moreAttendance that survives the network
A register is designed at 360px and saves in one request or not at all. A teacher can amend it afterwards, and every change is written to the audit log.
Learn moreResults and report cards
CA and exam weighting, grade bands and pass marks are settings, not code. Report cards compute from them and print properly on A4.
Learn moreComputer-based tests
Author a paper, publish it to a class level, let pupils sit it in a timed window. Marking runs server-side against a key no candidate can read.
Learn moreFees and online payment
Build a fee structure, raise invoices across a class in one operation, and take card payments. Cash and transfers are recorded by the bursary.
Learn moreA portal for pupils
Pupils see their own attendance, results and invoices, sit their tests, message staff, and pay their fees from a phone.
Learn moreMany schools, one database, no leaks
Run a group without running a copy of the software for each school. Every table carries a school id, and separation is enforced by the database rather than by application code remembering to add a filter.
- Row-level security enabled and forced on every table, deny by default
- A missing policy returns nothing, never everything
- Cross-tenant, role and pupil isolation asserted on every commit
- Exam answer keys live where no candidate can read them
- Every mutation recorded with who, what, before and after
Your rules, your colours, your paperwork
Nothing about a term structure or a grading scale is hard-coded, so the system bends to how your school already works instead of the other way round.
- Terms per session, CA weighting, grade bands and pass marks are settings
- Currency, locale and date format follow the school, not the server
- Your logo and brand colour carry into the portal and the report card
- Everything an administrator would print has a real print stylesheet
Messaging
Staff and pupils, inside one school.
Audit log
Who changed what, and what it was before.
Branding
Logo and colour, contrast checked.
Bursary tools
Invoices, part payments, reconciliation.
Priced by size, not by seat
A ninety-pupil nursery should not pay what a fourteen-hundred-pupil group pays. The band is worked out from your active roll and re-checked only when you renew, so admitting a pupil mid-term never changes the bill you are on. Pay yearly and two months are free.
Every band includes every feature. There is no tier that withholds the audit log or locks your pupils out of their results.
Questions schools actually ask
Can one school see another school’s data?
No, and not because the application remembers to filter. Every table carries a school id and isolation is enforced by Postgres row-level security, enabled and forced, deny-by-default. A missing policy returns nothing rather than everything. Cross-tenant isolation is asserted by a test suite that runs on every commit.
Does it assume three terms and a Nigerian grading scale?
It ships with those, but they are data, not code. Terms per session, CA and exam weighting, grade bands, pass marks, promotion rules, currency, locale and date format are all settings. A different country is a new preset, not a new version.
Our teachers use cheap phones on poor connections.
That is the assumption the screens were designed against. Registers and rosters are laid out at 360px first and widened from there, and a register saves in a single request so a dropped connection cannot half-save a class.
We print everything. Does that work?
Yes. Report cards, invoices, registers and rosters carry print stylesheets: tints and shadows drop away, headers repeat across pages, and rows do not break in half.
What is deliberately not in it yet?
A guardian login, SMS, timetabling, library, transport, hostel and analytics dashboards are not built. We would rather say so than list them as features. Guardians can pay a pupil’s fees today, but they do not yet have an account of their own.
How do we get started?
Accounts are created by invitation, so get in touch and we will set your school up with its classes, terms and staff, and walk you through the first term rollover. The first 30 days are free.
Put the whole school on one system.
We set up your classes, terms and staff, and stay with you through the first term rollover.