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.

The Rastr workspace: a weekly timetable for class 1A with lessons Monday to Friday, and the conflicts panel showing that the timetable has none.
Screenshot from the app with synthetic school data.

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.
The Rules tab: the Add a rule field with the example “Year 1 ends by 13:00”, and the fixed rules Availability and Room type and capacity, both switched on.

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 to a clash-free timetable, medium school

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.

The Conflicts and findings panel: “Idrottshall 1 is needed 9 h a week but is available 7 h 55 min”, with two suggestions marked Works and an Apply button.

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.

The Calendar tab: school year 2026/27 with 181 teaching days, 3 more than 178; the terms HT 2026 and VT 2027; the cycle set to One week; and the first closed days, a studiedag and höstlov.
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.
Teacher AHE's timetable for week 47, 16 to 20 November: Monday blanked as Studiedag, two Thursday lessons marked uncovered with a dashed border, and the notice “Lessons are left out this week” with a Re-solve this week button.

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)

The teaching time table: weekly minutes per subject for classes 1A to 5A, headed “Every class gets all its minutes.”

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.

The Year view of the teaching time table for 2026/27, headed “All 18 classes are short of minutes over 2026/27.” Each cell shows taught and required minutes, with shortfalls in red, such as 1,190 / 1,246 in art for class 1A.

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.

Time to a first clash-free timetable
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. 1

    A demo

    We show the app live: generate a school, build the timetable, move a lesson and break something on purpose.

  2. 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. 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.

We use these details only to contact you about Rastr.

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.