If you run a tutoring center, a music or language school, or a learning studio, one job comes back every single term: building the schedule and assigning instructors to slots.
Student day-and-time preferences, subject, level, plus each instructor's teachable subjects and availability — every new term, and every time the timetable shifts, you rebuild that match from scratch.
Shiftaru is a shift-and-booking matching app that builds the instructor assignment for you — while keeping subject and level intact.
🎉 Now live
Shiftaru is officially live. The free practice mode (sample data) needs no signup.
👉 https://shiftaru.com
Why a class schedule is so hard to build
Placing one student into one slot pulls in several conditions at the same time:
- Can this instructor teach the subject? (math, English, piano…)
- Can they handle the student's level? (elementary, middle school, exam prep…)
- Does the instructor have a shift at the student's preferred time?
- Is the instructor accidentally booked into two slots at the same time?
- Is any one instructor carrying too much?

The more students you have, the less this triple- and quadruple-constrained puzzle can be solved by hand — because one instructor's change knocks the whole timetable over.
Shiftaru never breaks subject or level
Hand Shiftaru the same conditions and it matches automatically. The two you can't compromise on in a school are treated as hard constraints:
- Subject (exact match) — only slots where the student's subject and the instructor's subject match get built
- Level (hard constraint) — only instructors whose level fits are assigned, so a level mismatch never ships
- Preferred time — placed where the instructor actually has a shift
- No double-booking — the same instructor is never stacked at the same time
- Workload balance — spread lessons across instructors, or concentrate them; your call
Hundreds of slots resolve in seconds. For a new term, change the conditions and one click gives you a working first draft. (The matching engine is diagrammed in this piece.)

When a slot can't be filled, you see why
Shiftaru doesn't hide the cases where there's simply no instructor who fits a student. An unfilled slot shows its reason — "no instructor teaches this subject," "no instructor covers this level" — along with near-miss candidates. So you can tell at a glance which subject you're short of instructors in, and use that to decide on hiring or timetable adjustments.
And your student data never leaves the browser
A school holds student names (often minors'), guardian contact details, grades, and target schools. That's information to handle with particular care.
Shiftaru runs its math inside your own browser and never sends what you load to our servers. The finished timetable stays with you, as a file you control. We can't leak your student list, because we never receive it. (More on this design in Part 3.)
Summary
- Class scheduling is hard because subject × level × time all interlock
- Shiftaru treats subject and level as hard constraints and never breaks them (hundreds of slots, seconds)
- Unfilled slots come with a reason and near-miss candidates, useful for hiring decisions too
- Student data stays in your browser and is never sent
We make the term-start rebuild lighter — by design.
- ▶ https://shiftaru.com — free practice mode, no signup
- ▶ Read more: Shiftaru Blog