ShiftFlow PRO
An AI-assisted scheduling tool for unionized, hourly workforces: retail, hospitality and healthcare support. It turns hours of manual spreadsheet work into a compliant, budget-aware roster for the pay period in minutes.
Live at v2.5 and in active use. Rostering that took hours of spreadsheet work every pay period is now a generated draft the manager edits. Union rules and hour guarantees run as deterministic code, so the manager reviews a schedule that already complies.
The problem
A schedule is a constraint-satisfaction problem, done by hand
Every pay period, a manager rebuilds the roster from scratch in a spreadsheet, reconciling contractual hour guarantees, shifting statutory-holiday hours, labor budgets, and role coverage all at once, entirely from memory and habit.
- Guaranteed weekly hours differ by employment type, and each type has its own band.
- Statutory holidays shift opening hours and require auto-populated
STATshift codes. - Coverage rules keep conflicting employees apart and guarantee critical roles (openers, key holders) are always staffed.
- A missed hours guarantee is a contract breach, so the cost of a mistake is real, not cosmetic.
Discovery
Who the schedule actually serves
Scheduling Manager · Primary
Needs a compliant draft fast, a quick replacement during call-ins, and confidence that guarantees and budgets are met without doing the math themselves.
Employee · Indirect
Needs consistent scheduling patterns, fast approval on time-off, and confidence their availability window is actually respected.
Backlog
User stories that shaped the build
Requirements
Spec'd as testable acceptance criteria
My role
From the manager's actual workflow to a shipped tool
I sat with the scheduling process directly, translated every contractual and operational rule into an explicit constraint set, and specified how an LLM could generate a compliant draft a manager could trust. I then built the application end to end: the rules engine, the AI integration layer (designed to work across multiple model providers), and the editing surface managers actually use every pay period.
What I built
A rules engine wrapped around three AI providers
Multi-provider AI generator
Direct client-to-API calls, designed to work across Gemini, Claude, and GPT models. Every response is forced into a structured JSON schema: a shift-code grid plus a plain-language rationale for every decision.
Guaranteed-hours rules engine
Enforces per-employment-type hour bands, statutory-holiday shift codes, and role coverage before a draft ever reaches the manager.
Break planner & conflict checker
Break generation runs client-side rather than through the LLM: deterministic, and immune to model drift. Flags overlapping breaks for employees sharing a role.
Call-in coverage finder
One click scans the roster for a valid replacement, respecting availability, hour caps, and time-off, then logs the absence automatically.
Under the hood
The schedule is generated, not typed
Compiled constraints (availability, holidays, budgets, roles) go to the model as a single context. It returns a shift-code grid plus its reasoning, which the manager reviews inline before publishing.
"schedule": [{ "empId": "E07", "days": ["M","M","O","C","OFF","OFF","P"] }],
"reasoning": "Kept both key holders off Sat together per coverage rule; E07 held at the full-time guarantee…"
}
Outcome
Compliance checks moved from memory into code
ShiftFlow v2.5 is in active use. Every draft roster is checked against guaranteed-hour bands, labour budget, statutory holidays and coverage rules before a manager sees it, so the manager reviews a schedule that already complies. Break planning and sick-call coverage run as client-side heuristics, so the tool keeps working if an AI provider fails. Roster data and API keys stay in the browser. There is no backend and no server-held personal information.
Roadmap
What ships next
Multi-location switching + a shared employee pool to borrow staff across nearby locations.
SMS/email schedule publishing plus an employee portal for manager-approved shift trades.
POS-driven traffic forecasting and direct payroll export (ADP, Ceridian).
More case studies
Want a discovery sprint or a prototype like this one for your product? Book a call.