Inspiration
As a General Manager, I spent hours every week building staff rotas. Most scheduling software still left the manager doing the difficult part manually: deciding who should work, when they should work, and how to satisfy all of the business rules at once.
I wanted to build a system that could generate the week automatically from the requirements of the business, while still leaving the manager in control.
What it does
RotaBot automatically generates weekly staff rotas around the staffing requirements, contracts, availability, approved leave, roles, training and scheduling rules set by the manager.
Hard operational constraints remain binding, while an adaptive learning layer allows confirmed manager preferences from previous edits to influence future solves.
The manager reviews the generated rota, makes any required changes, pins anything that must not move, and publishes the final week.
How we built it
RotaBot's scheduling engine uses Google OR-Tools CP-SAT with a Python backend and REST API.
The web platform is built with React, data is stored in Supabase, and the application is deployed using Vercel and backend cloud services.
A major part of the engineering work has gone into modelling real operational rules in a way the solver can enforce reliably while still producing useful schedules.
Challenges we ran into
Staff scheduling becomes a large constraint problem very quickly.
A real rota may need to account for staffing demand, contracted hours, availability, approved leave, roles, training, breaks, fixed shifts and many other operational rules at the same time.
The difficult part was not simply generating a schedule. It was building a system that could respect those rules consistently while remaining flexible enough for real businesses to use.
Accomplishments that we're proud of
RotaBot has been used to generate live staff rotas in a real operating venue and has replaced manual rota creation for day-to-day scheduling there.
The system can generate a whole week from the manager's requirements, measure coverage against those requirements, preserve hard constraints and allow the manager to review and adjust the result before publishing.
We have also added adaptive learning so confirmed manager preferences can inform future rota generation without overriding the rules that must remain fixed.
What we learned
Building scheduling software is as much an operations problem as it is a software problem.
Every workplace has its own rules, preferences and exceptions. The most valuable part of RotaBot has therefore been creating a scheduling model that separates hard constraints from manager preferences, rather than trying to hard-code one idea of what a good rota looks like.
What's next for RotaBot
The next stage is continuing to improve the scheduling and learning system, expanding RotaBot to more businesses, and proving the product across a wider range of real operating environments.
The goal remains simple: reduce the amount of manual work involved in building a staff rota while keeping the manager firmly in control.
Built With
- hospitality
- optimisation
- saas
- staff-scheduling
- workforce-management
Log in or sign up for Devpost to join the conversation.