← back
IT Support · 2022 - Present

Timetabler

Automated shift scheduling — a CP-SAT solver assigns employees to stations against availability and target hours, asking case-by-case whenever a hard staffing floor forces a deviation instead of silently overworking someone.

PythonOR-Tools (CP-SAT)StreamlitReact
active
gh ↗live ↗

Timetabler reads per-employee availability workbooks and solves a CP-SAT model for who works which station at which time. Target hours are treated as exact, not a ceiling — deviation only ever appears when the hard minimum-staff floor genuinely can't be met any other way, and the solver surfaces it one employee at a time with a choice: accept the deviation, reject it, relax an exclusive pin, or open the overflow station, whichever actually resolves it. Built on Google OR-Tools (CP-SAT) with a Streamlit frontend, including a custom React-rendered results grid (via Streamlit's Components API) for the final color-coded timetable.