← Work/06 · Heinz Program Scheduler

Heinz Program Scheduler

Turns a two-week manual scheduling job for about 607 incoming CMU Heinz students into a guided, conflict-free one-click build.

Heinz Program Scheduler term-overview dashboard for incoming student sections
RoleDeveloper for the school
When2026
EventDeveloper for the school
LinksWrite-up on request
01Problem

First-semester cores were built by hand.

The scheduling office spent about 30 minutes per student, then another week entering rosters into the S3 system.

02What I built

Hard rules, soft costs, paste-ready rosters.

DEVELOPER FOR THE SCHOOL · TEAM 10

AA scheduling engine with hard rules (no time or mini-semester conflicts, room capacity) and soft costs (balanced sections, 2+2 mini split, avoiding long days).
BHandling for course A-or-B choices, manual moves with lock/undo, S3 paste-ready rosters, and per-program advisor workbooks with email-out.
CA PII anonymizer and a synthetic-data generator, plus a Streamlit offline fallback and a CLI. Demos use synthetic data; the repo holds no student data.
03Result
607

Incoming Heinz students as the baseline of the job the office used to do by hand. No after number is stated.

04Stack
PythonNext.jsFirebaseStreamlit
05Gallery

Inside the product

04 screens
04Contact

Let's build.

Parth Dave