Running a hair, nail, or beauty salon means solving the same puzzle over and over: which booking goes to which stylist.
Every service has its own length. Every stylist has their own strengths. And then there's the one that overrides all of it — "I want to book with a specific stylist." The more bookings you take, the harder that combination is to work out by hand.
Shiftaru is a shift-and-booking matching app that builds the whole assignment for you — requested-stylist bookings included.
🎉 Now live
Shiftaru is officially live. The free practice mode (sample data) needs no signup.
👉 https://shiftaru.com
A salon assignment has a lot of moving parts
Placing a single booking means holding all of this in your head at once:
- Can this stylist do the service? (cut / color / perm…)
- Is there enough time for it? (cut 60 min, color 120 min…)
- Is the stylist open at the client's requested time?
- If the client requested a specific stylist, that person comes first
- Does it double-book against the appointments before and after — and is there time to reset between clients?

Somewhere past 20 bookings a day, doing this optimally by hand stops being realistic.
Shiftaru places each booking at the exact requested time — for the exact service length
You register each service with its duration (e.g. "color = 120 min"). Shiftaru then books that exact length at the requested time, and if that slot is taken it searches the open gaps before and after. So you never hit the classic mistake — dropping a two-hour color into a one-hour cut slot and running out of time.
- Service (menu) — registered with a duration, so every booking is sized correctly
- Requested time — placed at the exact time the client asked for
- No double-booking — reset and turnaround time is reserved so appointments don't overlap
- Balanced workload — no single stylist gets buried (you can also concentrate on purpose)
Request-by-name is handled as a must-assign
The one thing a salon can't get wrong is the requested stylist. In Shiftaru you express this with a must-assign constraint.
Set "Client A must go to Stylist B," and that client is always assigned to Stylist B. You can also mark a client-and-stylist pair as avoid, so they're never scheduled together. Even a salon that runs mostly on requests can honor every one of them and let the software fill in the rest automatically. (Full walkthrough of constraints in this piece.)

And your client records never leave the browser
A salon holds client names, contact details, visit history, and service notes. That's real personal information.
Shiftaru runs all its math inside your own browser and never sends what you load to our servers. The finished schedule stays with you, as a file you control. We can't leak your client list, because we never receive it. (More on this design in Part 3.)
Summary
- Salon assignment is complex because service length, requested stylist, and double-booking all collide
- Shiftaru books each service at its exact time, and always honors request-by-name via a must-assign
- Double-booking and reset time are handled automatically; use Spread mode to keep anyone from being overloaded
- Client records stay in your browser and are never sent
Complexity handled by the engine, privacy handled by the architecture. Both, at once.
- ▶ https://shiftaru.com — free practice mode, no signup
- ▶ Read more: Shiftaru Blog