Resident Doctor Scheduling Tool

Scheduling and schedule exploration for OBGYN residency programs.

The problem

My wife, Clare, is an OBGYN resident. The schedules are distributed in poorly designed Excel spreadsheets that are difficult to interpret. I initially developed this project to parse the schedule into a Google Calendar. As Clare encountered additional questions about her schedule—such as with whom she was working, who was on call, how many night shifts remained, and how many shifts she shared with another resident—I expanded the site’s capabilities to address each new inquiry.

Subsequently, other residents’ partners expressed interest in tracking upcoming rotations. In response, I implemented user accounts and expanded access for the wider program.

What I built

This project is a Phoenix LiveView application that transforms an OB/GYN residency program’s schedule from an unreadable Excel spreadsheet into an accessible and user-friendly format.

The original spreadsheet contains information for 32 residents across 107 date slots. I developed an importer to convert this disorganized data into structured rotations. The application presents the schedule in four formats: a Gantt-style grid, a month, week, or day calendar, a side-by-side comparison for any two residents, and an individual page for each resident. Users can also download their personalized iCal feed.

The technology stack includes Elixir/Phoenix 1.8, LiveView 1.1, and Postgres/Ecto. The application is deployed to a DigitalOcean droplet using GitHub Actions.

Result

The Monthly Calendar View with a Day View Modal
The Monthly Calendar View with a Day View Modal
Full Program Gantt Chart
Full Program Gantt Chart
Individual Resident Page
Individual Resident Page
The compare page, during the walk-through
The compare page, during the walk-through