Build your timetable05 / 11
Three weeks of your best teacher’s life, every year.
Somebody senior disappears into a room in May with a grid, a list of teachers and a pot of tea. They come out in June with a timetable that mostly works, and a Thursday afternoon that does not. The school then lives with that Thursday for a year.
The problem today
One person understands it, and clashes are found by teachers.
- The timetable is built by hand, by one person, who becomes the only person who understands it.
- Clashes are found by teachers, in the first week, in front of a class.
- A teacher’s preference is honoured only if they keep asking for it.
- Nobody knows who is overloaded until somebody complains in October.
- A teacher is absent and covering the day means finding whoever is free, by asking.
- Changing anything in September means touching the whole grid again.

What EduBold changes
You set the constraints. It places the lessons.
Build your timetable/What goes in
- Constraints
- Schedule pattern
- Rooms and facilities
- Subject load per class
- Teacher preferences
Timetable viewer Class 10-A
Total periods: 37| Period | Time | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
|---|---|---|---|---|---|---|---|
| 1 | 08:00–08:45 | ChemistryGurpreet KaurScience Lab | BiologyAnita RaoScience Lab | PhysicsVikram JoshiRoom 12 | EnglishPrabhjot KaurRoom 12 | HistoryRitu MalhotraRoom 12 | GeographyRohit BansalRoom 12 |
| 2 | 08:45–09:30 | MathematicsRohit BansalRoom 12 | HistoryRitu MalhotraRoom 12 | HindiPrabhjot KaurRoom 12 | ChemistryGurpreet KaurScience Lab | PhysicsVikram JoshiRoom 12 | Computer ScienceAnita RaoComputer Lab |
| 3 | 09:30–10:15 | BiologyAnita RaoScience Lab | MathematicsRohit BansalRoom 12 | GeographyRohit BansalRoom 12 | PhysicsVikram JoshiRoom 12 | EnglishPrabhjot KaurRoom 12 | BiologyAnita RaoScience Lab |
| 4 | 10:15–11:00 | HistoryRitu MalhotraRoom 12 | PhysicsVikram JoshiRoom 12 | EnglishPrabhjot KaurRoom 12 | BiologyAnita RaoScience Lab | ChemistryGurpreet KaurScience Lab | EnglishPrabhjot KaurRoom 12 |
| 5 | 11:00–11:45 | GeographyRohit BansalRoom 12 | HindiPrabhjot KaurRoom 12 | + | + | + | MathematicsRohit BansalRoom 12 |
| 6 | 11:45–12:30 | PhysicsVikram JoshiRoom 12 | ChemistryGurpreet KaurScience Lab | BiologyAnita RaoScience Lab | + | + | + |
| 7 | 13:15–14:00 | EnglishPrabhjot KaurRoom 12 | EnglishPrabhjot KaurRoom 12 | ChemistryGurpreet KaurScience Lab | Computer ScienceAnita RaoComputer Lab | MathematicsRohit BansalRoom 12 | + |
The system places the week
You give it the constraints, the schedule pattern, the rooms, the subject load per class and each teacher’s preferences. It places the lessons.
The scheduler works greedily where it can and backtracks where it must, inside a time budget you set. When the budget runs out it stops searching and places the rest greedily, so it always returns a timetable rather than hanging.
Then it tells you the truth about what it produced: an optimisation score, how many lesson units it tried to place, and how many it actually managed. If it genuinely cannot run, because there are no teaching slots or no demand, it says so rather than handing you an empty grid.
It finds its own clashes, and proposes the fix
Conflict detection runs across the timetable and scores what it finds, so you are looking at a ranked list rather than one long pile.
For each conflict it generates resolution suggestions, each with alternatives to choose between. Apply one, or let it auto-resolve. Accept a clash deliberately and mark it ignored, and it stops appearing.
Teacher preferences are an input, not a complaint
Preferences go in before generation and form part of the solve. Afterwards, you can calculate a satisfaction score per teacher and see how well their preferences were actually met.
Copy one teacher’s preferences to another when somebody new joins on similar terms.
You can try a version without losing the one that works
Timetables version. Generate a new one, compare it, and roll back to a snapshot if it is worse.
Changes go through approve, apply and rollback, so a mid-year adjustment is a governed action rather than an edit somebody made without telling anyone.
Cover is a workflow
Substitution handles an absent teacher without touching the rest of the week.
You can see the load before term starts
Workload summaries per teacher, calculated for the whole staff at once. Room capacity, facilities and utilisation reports, so you know whether the estate is actually being used or whether one lab is doing all the work.
Rooms can be blocked for scheduled maintenance, and the timetable knows the lab is unavailable for those two weeks rather than finding out on the day.
For the honest reader: this is a constraint solver, not artificial intelligence. It is classical computer science, done properly, and that is a better claim than the fashionable one.
The detail that decides it
EduBold tells you whether one day is far harder than the rest.
There is a function that analyses schedule balance and another that analyses break distribution.
Every school has a class whose Monday is four hard subjects in a row and whose Friday afternoon is games, library and a free period. Everybody knows it happens. Almost nobody can see it, because seeing it means reading every teacher’s grid at once and comparing them.
The system reads them. It can also optimise the break distribution rather than just reporting on it.
This is the sort of thing that never appears on a feature list and changes how a school actually feels to be in.
For the management committee
One of the largest hidden costs in the school.
Timetabling is usually invisible to the committee: two to three weeks of a senior teacher’s time every year, repeated in every branch.
There is also a governance angle. Teacher workload summaries make staffing load visible and comparable across branches, which is the evidence a committee needs when a department asks for another appointment.
Next
Bring your hardest question.
Half an hour, on the problems your school actually has. Bring the thing your current system cannot do, and you will watch EduBold run it against your own rules before you decide anything.
