Interested in this project?
I'm happy to discuss the scheduling algorithms, constraint handling, or architectural decisions.
Get In TouchLoading
XpanSieve Solutions is a digital agency and product studio focused on building practical software systems, web applications, and technical solutions.
An intelligent scheduling engine designed to automatically generate conflict-free timetables for large-scale universities. The system handles hundreds of courses, multiple departments, room constraints, lecturer availability, and student group overlaps — a problem that traditionally takes administrative staff weeks to solve manually.
The generator treats timetable creation as a constraint satisfaction problem (CSP), using algorithmic techniques to find optimal or near-optimal schedules that respect all hard constraints (no double-booking, room capacity) while maximizing soft constraints (preferred time slots, minimal gaps between lectures).
University timetabling is an NP-hard problem. As the number of courses, rooms, time slots, and constraints increases, the solution space grows exponentially. Most Nigerian universities still create timetables manually — a process that typically takes 2-4 weeks, produces frequent clashes, and requires constant manual adjustments throughout the semester.
This system automates the entire process: input the courses, rooms, lecturers, and constraints, and the engine produces a valid, optimized timetable in minutes instead of weeks.
The architecture was designed around the unique challenges of university-scale scheduling:
Hard constraints (no room double-booking, lecturer conflicts) are treated as absolute. Soft constraints (preferred times, room proximity) are scored and optimized. The solver uses a combination of backtracking with forward checking and local search heuristics.
The system is built with a Java/Spring Boot backend for the scheduling engine and a React frontend for the administrative interface. PostgreSQL stores the course data, room inventory, and generated schedules. The scheduling algorithm runs as an asynchronous job — administrators submit a scheduling request, and the engine processes it in the background, reporting progress in real-time.
The feasibility checker is a critical pre-step: before attempting generation, it analyzes whether the input constraints are satisfiable. If there aren't enough rooms of sufficient capacity, or if lecturer schedules are impossible to reconcile, the system reports exactly which constraints are problematic — saving hours of debugging invisible conflicts.
The biggest challenge was balancing generation speed against solution quality. A perfect global optimum could take hours for large institutions; the current approach uses bounded search with local optimization to produce high-quality solutions in minutes. Another ongoing challenge is handling "special" constraints — rooms with specific equipment, courses that span multiple time slots, and departments that share space across zones.
The timetable generator is functional and actively developed. It has been tested with real course data from a university setting and produces valid schedules. The project is private — it contains proprietary scheduling algorithms and university data structures that are not publicly shareable.