roster engine
Automated rostering for my church youth media team. Cut scheduling from 2 hours down to 5 minutes with a rules-based engine.
visit site ↗



the problem
My church's youth media team was managing their roster in Excel. With a growing team and complex scheduling rules — who's available, which role each person can serve, how often each person gets rostered — putting together each roster took around 2 hours of manual work every time.
the solution
I built RosterEngine: a web app that takes in team availability and scheduling constraints, then generates a complete roster in seconds. The Python backend handles the scheduling logic, while the Next.js frontend gives team leaders a clean interface to manage the team and view the output. One button. Done.
outcome
Rostering time dropped from 2 hours to 5 minutes. The team leader now spends that time on actual ministry work instead of spreadsheet wrangling.