Skip to content
BEIND

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.
The solver tells the timetabler what it thinks and then gets out of the way. Software that refuses to save because it disagrees with a human who knows the school is software that gets abandoned in September.

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.