The cohort view
A pass-trend line over rolling windows up to a year, a first-time-pass figure, average sittings to pass, a per-subject outcome breakdown, and a classroom-by-classroom rollup.
IN PRODUCTION A flight school runs its ATPL theory programme on this platform today, and further schools are in conversation.
Provision accounts, group them into classrooms, build progress tests from the ATPL bank, open the gate when your instructor says so, and read the results as a cohort — not as thirty separate PDFs.
Every school is its own tenant. A request that crosses a school boundary does not return the wrong data — it returns nothing.
Every student carries a 13-subject authority record, whether or not they’ve sat any of them yet.
The per-subject attempt ceiling is enforced in the database transaction, not in a form.
Sittings per student are counted and capped, across all subjects — a sitting being the authority’s exam session, however many days it spans.
Isolation is a guard on every route, not a filter someone remembered to add.
The rest of this page is these three, in order.
Eight dashboard views, from a school-wide KPI with a period-over-period delta down to a single question in a single sitting.
A pass-trend line over rolling windows up to a year, a first-time-pass figure, average sittings to pass, a per-subject outcome breakdown, and a classroom-by-classroom rollup.
A standing list of who needs looking at, derived from the same data as the dashboard rather than from someone’s spreadsheet.
Per-question outcome, learning-objective gap analysis banded by severity against that test’s own threshold, trend against the previous attempt, and flags for rushed or borderline work.
Three school roles and twenty-eight named permissions, so the person who can price a contract is not automatically the person who can open an exam.
A chief instructor creates student and instructor accounts directly. Each one gets an identity, a one-time password it must change, and a welcome email. Resending or resetting rotates the credential.
Create, rename and delete classrooms; add and remove members. A student belongs to exactly one classroom — enforced by a database index, not by a warning dialog. Instructors can span several.
An assignment has a canonical time window, and a separate switch that starts off. Inside a valid window a student still cannot begin until staff open it. Start, resume and complete all refuse once it closes.
Build progress tests down to sub-lesson level with live counts of how many questions actually exist in each pool.
Subject, lesson, sub-lesson, a question count per pool, a pass threshold and a duration. The builder tells you how many questions exist before you commit to a number.
A template can restrict which authorities’ questions are drawn. Leave it empty for all of them.
The template version and the authority selection are stamped onto each student’s test at the moment they start, so editing the template later cannot retroactively change a sitting that already happened.
Not validated in a form and not checked afterwards. Every authority result is written under a row lock, so two people filing at once cannot slip past the counter.
Pass or fail is derived from the score against the 75% threshold, attempt numbers are derived per subject, and the count of passed subjects is derived from the results. None of them can be typed in by hand.
School scope is a guard in a fixed chain on every controller, ahead of any ownership check. A request that reaches across a school boundary gets nothing back, not somebody else’s data.
A separate guard checks classroom ownership after school scope, so a valid instructor in the right school still cannot act on a classroom that isn’t theirs.
School accounts are created by the school. A school user cannot buy a licence for themselves — the server refuses the checkout before it starts.
Deleting a template or a classroom retains history. Authority exam results are never purged; the record is the point.
We walk the live admin surface with your own subject list in front of us.
Your tenant, your authority, your chief instructor account. You provision the rest.
Build one template, assign it to one classroom, open the gate, read the report — then scale it across the school.
Roll out to every classroom with the templates you’ve already proven.
School licensing isn’t a checkout. Terms are agreed per school — a contract price, per-seat rates for students, instructors and chief instructors, an included-seat allowance, and invoices issued against the seats actually used. Your students never see a payment screen; the platform refuses to sell them one.
Ask for termsTwo more ways in. Pick the one that matches the job you actually do.
One call, your subject list, and the live admin surface.
PILOT 100 · FOR TRAINING ORGANISATIONS