Platform
Beiond Better School
Timetabling and curriculum planning for professional schools
Building a school timetable is a constraint problem disguised as an administrative chore. Beiond Better School treats it as what it is: a solver, a curriculum model and a set of rules the school itself controls.
Better School does timetabling, curriculum planning and teacher workload. It is not a student information system — there are no student records, grades or tuition billing in it, by design.
The solver
Fifteen rules that cannot bend, nine that can.
Teacher, room and class can never double-book; availability, room type, capacity, shift and maximum hours are absolute. Everything else is a weighted preference the school tunes itself — how evenly a subject spreads across the week, how balanced the daily load is, how many gaps a teacher tolerates between lessons, whether isolated single periods are acceptable. Defaults are built in, a school can override them globally, and a single class can override them again.
Product principle
“Conflicts are indicative, never blocking.”
What it runs
Timetable generation
A constraint solver with feasibility checking before it runs, so an impossible year is diagnosed rather than silently half-solved.
Curriculum planning
Curricula, templates and per-class snapshots that freeze a plan and warn when reality drifts from it.
Learning units
Module-level hour allocation, progress, carryover between years, and viability flags when a unit cannot fit the time left.
Placement windows
Block-mode scheduling for work placements, so on-site training does not fight the weekly grid.
Absence and substitution
Teacher absences by date, typed substitutions, and assisted matching for who can actually cover a class.
Manual editing
Edit sessions with change sets, a bench of unplaced lessons, apply or reset, and snapshots you can restore.
Capacity checking
An annual feasibility check that proves whether the year's teaching load can be staffed at all, before term starts.
Reconciliation
Planned against delivered hours per teacher and per class, with surpluses and shortfalls itemised.
Assisted, not automated
AI does the reading. The solver does the deciding.
Constraints arrive as meeting minutes, emails and a teacher saying they cannot do Friday afternoons. Language models are good at turning that into structured rules and at proposing substitutes; they are bad at guaranteeing a teacher is not in two rooms at once. So generation runs through a feasibility gate and every proposed variant is checked by the validator before a human ever sees it.
Multi-tenancy
Every school gets its own database schema.
Not a tenant column that one missing filter turns into a data breach — a separate PostgreSQL schema per school, selected from the authenticated session and never from anything the browser can send. Creating a school provisions the schema, applies migrations and seeds a working year automatically.
Scale
- 51
- Database tables per school
- 196
- API endpoints
- 1,104
- Automated tests
- 24
- Configurable constraints
Built with — .NET · PostgreSQL · Next.js · Clean Architecture with CQRS
Status
In production with two pilot schools, developed continuously since spring. Available now for schools that want to leave a legacy timetabling tool or a spreadsheet behind.