Make every hour count.
Constraint-aware scheduling for campuses that need fewer clashes, better room fit and transparent capacity decisions.
Weekly learning grid
Current scenario · click a scheduled class to see its assignment
Resource utilization
Scheduled teaching blocks by room
Planning signals
Explainable constraints and capacity warnings
One week. Zero guesswork.
Inspect the schedule generated from course cohorts, instructors, room capacity and specialty-room requirements.
Institution-wide timetable
All days are Monday to Friday, with six 90-minute teaching blocks
Allocation details
Show assigned and unscheduled sessions with transparent reasons
| Course / cohort | Instructor | Room | Day | Start | Enrollment | Status |
|---|
Course catalog.
Adjust instructors, course demand and room requirements. Archived courses remain available for restoration.
| Course | Instructor | Cohort | Students | Meetings | Space type | Actions |
|---|
Learning spaces.
Adapt classroom capacity, availability and specialty facilities to test practical timetable constraints.
Facility inventory
Capacity and active status are included in scheduling feasibility
| Learning space | Type | Seats | Use this week | Status | Actions |
|---|
Pressure-test the plan.
Change demand, room supply and preferred dayparts. The scheduling model is recalculated without external data.
Choose a disruption
Presets set the sliders and facilities below
Scenario controls
Drag to customize any selected preset
Scenario output
Calculated immediately from the current parameters
Scenario comparison
Every preset uses the same input catalog for consistent comparison
| Scenario | Allocated | Unscheduled | Seat fit | Room blocks | Constraint warnings |
|---|
Know the rules.
Clear assumptions, bounded scope and limitations are essential for any planning decision.
Scheduling engine
Inputs and time slots
Each course has an enrollment target, instructor, cohort, one or two weekly sessions and a room type (lecture or lab). Each meeting occupies one 90-minute block. Slots are Monday to Friday at 08:00, 09:45, 11:30, 13:30, 15:15 or 17:00.
Hard constraints
One room, instructor and cohort can participate in at most one class in the same block. A room must have enough seats and the required space type. A course cannot meet twice on the same day. Deactivated rooms are excluded.
Assignment heuristic
The engine sorts meetings by difficulty, prioritizing laboratory demand and larger cohorts. It chooses the feasible block and room with the best penalty score for spare seats, weekday balancing, concurrent usage and late times. It is a deterministic greedy heuristic, not a globally optimal solver.
Scenario model
Enrollment is rounded up after scaling. Rooms are removed from the active pool in a fixed order for reproducibility. Optional instructor unavailability restricts a named instructor on Tuesday. Results reflect these assumed parameters, not observed campus activity.
Interpretation
"Seat fit" is the total enrolled seats divided by total available seat capacity across allocated sessions. Room block utilization is allocated room-blocks divided by all active room-blocks available in the model. Neither metric measures actual attendance.
Privacy by design
All information stays in your browser
No data transfers or external dependencies
Export or restore your workspace
Archiving never silently deletes a course
Known limitations
This simulation does not model legal timetabling regulations, instructor contractual hours, building travel times, holidays, accessibility requirements, lab equipment inventories, real student calendars or multi-hour sessions. There is no automatic live SIS integration. It is not a substitute for institutional timetable validation.
About this project
CampusFlow · Hugdrigo independent research portfolio · Project #114. Educational demonstration with synthetic courses and rooms. Built as a single self-contained, static HTML application.