A month of shifts, balanced automatically — one file, no server, no account.
No subscription. The download link is yours to keep — re-download any time.
Everything below is in the app you download — no add-ons, no upsell.
Add workers with role and weekly hours; record vacation, sick days and days off — availability checks respect them.
Name a shift once (start, end, colour, headcount) and stamp it onto any day.
Fill a whole month honouring fairness (equal shifts, hours or weekends), maximum consecutive days, minimum rest, and headcount limits.
Double-booking, rest-period violations and consecutive-day overruns are flagged, with Fix conflicts and Clear day.
Everything lives in the browser's localStorage. No backend, no sync, no telemetry. Export JSON for backup, CSV for the roster.
The whole package, nothing hidden behind a plan:
CHANGELOG.md
LICENSE
README.md
VERSION
docs/CANONICAL.md
docs/USAGE.md
src/index.html
Any modern browser, offline. Nothing else.
One month at a time — there is no yearly view.
Clearing browser data erases the schedule. Export JSON regularly.
The AI advisor is inert without a local Ollama; every scheduling feature works without it.
Straight answers, including the ones that cost a sale.
No. One HTML file. Double-click it — it works from file://, offline, from a USB stick.
In that browser's localStorage on that machine. It does not follow you to another computer — move it with Export JSON → Import JSON.
Only if you run a model yourself and point the panel at it. It calls your endpoint; there is no OpenAI, Anthropic or Google endpoint in the file.
It is built for a small team (a hotel/spa-sized operation). There is no hard cap, but the month grid is not a 500-person scheduler.
Don't — the store is per browser profile. Share the exported JSON instead.
A bug, a missing feature, a question before you buy — this goes to the operator, not to a ticket system. How feedback works →