Full-StackNext.jsPython

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 ↗
landing page
landing page
dashboard
dashboard
roster generation
roster generation
generated roster
generated roster

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.

stack

Next.js, Python, REST API

role

Solo build

year

2025

← back to portfoliovisit site

Want to collaborate or have an engineering problem to solve? Let's talk.

Get in touch
Back to top