I’ve always wanted a scheduler that actually understands how real life works. Most apps just dump tasks onto a calendar, but real life has prereqs everywhere—buy groceries before making dinner, grab clothes before working out, take Class A before Class B. As a peer mentor for algorithms, I realized those relationships look a lot like the optimal closure problem, which can be solved cleanly using max-flow/min-cut.
That insight became the core of my project: a scheduling app that dynamically merges calendars and to-do lists into one system, using a dependency graph under the hood. Tasks become nodes, prerequisites become edges, and a single flow computation gives a valid, ordered schedule.
To avoid making users fill out endless forms, I built an interview-style input flow—simple questions like “Before you make dinner, what do you need to do?”—which quietly captures the structure needed for the graph. The output is clean, color-coded by category, and can export straight into Google Calendar.
I learned how to turn a theoretical algorithm into a product experience people actually want to use, and how to balance mathematical precision with intuitive UX. The biggest challenge was translating messy human routines into a model that’s both flexible and solvable.
In the end, I built the tool I always wished existed: a scheduler that respects real-life dependencies and automatically organizes your day using the same algorithms we teach in class.
Log in or sign up for Devpost to join the conversation.