Timetable Automation
A Python web application that automates academic timetable scheduling for educational institutions, handling constraint satisfaction across classes, instructors, and room availability. It replaces weeks of manual scheduling with minutes of automated generation.
The Problem
Academic timetable scheduling is an NP-hard constraint satisfaction problem that administrators solve manually each semester, taking weeks and producing schedules riddled with soft-constraint violations (back-to-back classes for instructors, room double-bookings, uneven load distribution). Manual errors cause cascading disruptions at the start of each term.
The Solution
A constraint satisfaction engine that models hard constraints (no room double-booking, no instructor conflicts) and soft constraints (preferred time slots, instructor workload balance) as a CSP and solves it using backtracking with forward checking and arc consistency. A React frontend lets administrators configure constraints, visualize the generated timetable, and export it.
Key Features
Challenges & Learnings
Real institutional datasets have subtle constraint dependencies (e.g., a lab course requires a specific room and a specific lab technician on the same slot) that simple CSP models miss. Constraint normalization — expressing all dependencies as first-class constraint objects rather than special-case conditionals — was key to making the solver generalizable.
Business Impact
Reduces semester-start scheduling from weeks to minutes. Eliminates double-bookings and instructor conflicts. Saves administrative staff 40+ hours per academic cycle and reduces student complaints about scheduling conflicts.
Future Direction
Integration with student course registration data for demand-aware scheduling, multi-objective optimization for simultaneous hard-constraint satisfaction and soft-constraint maximization, and real-time conflict resolution UI.
Tech Stack
Quick Links
Want to see more of my work?
Back to Projects