Rastr builds a clash-free timetable for a whole school in under a second, and says why when none can be built.
Rastr is a timetabling engine and a workspace for Swedish compulsory school. It repairs the week when something changes and checks that every class gets its teaching time.

What does Rastr do?
Rastr builds, repairs and explains a school's weekly timetable. It all happens on one screen, with views by class, teacher, room and year.
- Builds the timetable
- A clash-free week for a whole school in under a second. The longer the engine runs, the better the timetable gets. Lessons are placed by the minute, with no fixed periods.
- Repairs when something changes
- Drag a lesson to a new time. The engine repairs the week around it in 0.24 ms at the median and moves 2.3 other lessons on average.
- Explains when nothing fits
- Rastr says which room, teacher or rule is the cause, in plain language, and suggests changes the engine has already tested.
- Rules you can read
- Write a rule as a sentence, such as “Year 1 ends by 13:00”, in English or Swedish. Nothing is saved until you confirm what was understood.
- Follows the school year
- Terms, holidays, PRAO and A/B weeks. Every week of the year shows what is actually taught, and a single week can be re-solved on its own.
- Snapshots and comparison
- A snapshot is kept before every solve and rule change. Restore it, or compare two scenarios side by side.

What changes for our schools?
Most of the time spent on a school timetable goes into changing it, not into the first draft.
Every lesson needs four things at once
Every lesson needs a teacher, a group, a room and a time, and each of them is wanted somewhere else in the same week.
Moving one lesson moves others
A teacher drops hours in October. Moving one lesson by hand can unsettle a dozen others, so the timetable is left alone.
No reason given when it fails
When no timetable fits, the scheduler is left to guess which rule, room or person is the cause.
It all rests on one person
Often only one scheduler knows why the week looks the way it does, which makes the school vulnerable.
Time elapsed: 0.0 s
A typical timetabling system
Illustration – assumed time · about 3 min
Building the timetable…
0 % · about 3 min
Rastr
Measured · 69 ms
Building the timetable…
0 % · 69 ms
Illustration. Rastr's time is measured: the median for a medium school of 431 pupils. The other time is an assumption made for the comparison, not a measurement of any particular system.
Example: the gym is short of hours
In this example, Idrottshall 1 is needed nine hours a week but is available 7 h 55 min. Rastr suggests adding a hall or opening it all week, and has already checked that both work. In our tests the explanation found all 4 planted fault types, each with a fix that works, in 1–11 ms.
Drag a lesson, and the engine repairs the rest of the week
- median to repair the week
- 0.24 ms
- 99th percentile over 1,000 edits
- 30 ms
- lessons moved per edit, on average
- 2.3
A lesson you move is locked where you put it and stays there through later solves.

Does the timetable follow the school year?
The weekly timetable is a template. Rastr lays it over the real weeks of the school year, with terms, lov, studiedagar and public holidays, and shows what each week looks like.

- School year and closed days
- Enter the terms and closed days, or load the public holidays. Rastr counts the teaching days and compares them with the 178 a school year must have.
- Real weeks
- Pick a week and see it with dates. A studiedag or lov day is blanked with its name, and a week outside the terms is empty.
- Classes and teachers away
- Enter PRAO, a trip or a teacher on a course for the dates it happens. The class's lessons are taken out of those days, and a lesson whose teacher is away is marked Uncovered.
- Re-solve one week
- Re-solve a single week without changing the template. Every move is weighed against the template, which in our test week cut the lessons moved from 49 to 20.
- A and B weeks
- A school can run a two-week cycle. Lessons taught every week keep the same time in both weeks; the others are taught only in A weeks or only in B weeks.

Does every class get its teaching time?
The Swedish Schools Inspectorate reviewed how teaching time is distributed in years 7 to 9 and found faults at 30 of 59 schools, most often time moved out of subjects that may not be cut. The review gives no national picture and the shortfall is often a few hours, but it shows where time tends to slip.
Skolinspektionen, Report 2025:5 (in Swedish)

Rastr counts teaching minutes per subject and week for every class, down to half classes and language groups. Where pupils in a class differ, the table shows those who are worst off.
The teaching-time plan is data in Rastr, not code. When the ten-year compulsory school takes effect in autumn 2028, with at least 7,424 hours in total, the new plan does not have to be written into the engine. Year 10 is not in the model yet.
Teaching time over the year
The weekly table counts one template week. The Year view counts every teaching day of the year and takes off closed days, PRAO and trips. Closed days fall on some weekdays more often than others, so subjects taught on those days lose time. In the sample school every class gets all its minutes each week, yet over 2026/27 all 18 classes are short in at least one subject, by up to 173 minutes. Each class's total still has a surplus.

How do we know the numbers hold?
Rastr has no customers yet, so we show how we measure. Every timing is from an Apple M2 Max laptop, release build, on synthetic schools generated from Skolverket's teaching-time plan.
- Small school153 pupils, 158 lessons a week
- 14 ms
- Medium school431 pupils, 493 lessons a week
- 69 ms
- Large school581 pupils, 732 lessons a week
- 190 ms
Median of 20 random seeds per school size.
- 0
- disagreements between the engine's scoring and a separate checker over 230,000 random moves. The two share no code.
- 167 of 168
- published costs reproduced by our checker on the public XHSTT school timetabling benchmarks.
- 9 million
- candidate moves evaluated every second on eight cores.
Every random choice comes from a seed, so a single-core run repeats byte for byte.
What is ready, and what isn't?
Rastr is early. This is what works today and what doesn't.
Built and measured
- Engine and app working end to end, from school data to a published timetable.
- Compulsory schools of 150 to 580 pupils, years 1 to 9.
- Solve, repair, explanations, rules, teaching time, snapshots, scenario comparison and publishing.
- School-year calendar: terms, closed days, real weeks, classes and teachers away, re-solving one week, A/B weeks and teaching time over the year.
In progress
- Import of school data through SS 12000, the Swedish standard for exchanging school data.
Not built yet
- Real school data. Everything shown is synthetic.
- Sign-in and multiple customers.
- Upper-secondary (gymnasium) course choices.
- A Swedish interface. The app is in English today; rules can be written in either language.
How are data, GDPR and accessibility handled?
- What data exists today
- Only synthetic data. No real names of pupils or staff have ever been in Rastr.
- Where data will live
- The plan is a dedicated server in the EU, in Helsinki. It is not deployed yet.
- Agreements
- Before any real personal data is uploaded, we want a data processing agreement in place. We will draft it with the pilot's school organisation.
- Import
- Import is being built, starting with SS 12000, the Swedish standard for exchanging school data. It is not finished, and we will test it with the pilot schools.
- Accessibility
- The target is WCAG 2.1 level AA. The workspace works with mouse, keyboard and touch, with one tab stop per lesson.
How do we get started?
We are looking for three to five schools, ideally within one school organisation, that want to build next year's timetable alongside their current system.
- 1
A demo
We show the app live: generate a school, build the timetable, move a lesson and break something on purpose.
- 2
Your school, in Rastr
We build a model of one of your schools, with your rules and teaching-time plan, without personal data.
- 3
Compare before the school year
You build the timetable as usual and compare it with Rastr's. We go through the pilot's terms in the demo.
Book a demo
Five fields and one optional. We will get back to you to find a time.
Frequently asked questions
Does Rastr work for upper-secondary school?
Not yet. Rastr is built for compulsory school, years 1 to 9. Gymnasium course choices are not in the model.
Does Rastr replace our current timetabling system?
Not today. Import is still being built, and sign-in and multiple customers are not, so a pilot runs alongside the system you have.
Can we try it with our own school?
Yes, that is the pilot. We build a model of your school without personal data and build the timetable together.
What does Rastr cost?
There is no price list yet. We go through the terms of a pilot in the demo.
Why does speed matter?
Because building a timetable means trying things. When a timetable takes under a second, you can try a rule change, a new scenario or a teacher off sick before deciding, instead of avoiding changes.