ARCHIVE 02 · ACADEMIC SCHEDULING & OR-TOOLS
TimeFlex — AI Academic Timetable Engine
TimeFlex is an academic timetable scheduling platform engineered for algorithmic constraint satisfaction. Structured as a multi-package monorepo, it pairs a Python constraint solver using Google OR-Tools with a Node.js orchestration API and a React timetable management interface. The system automates division and batch scheduling, room and lab allocation, teacher availability, and lunch/break constraints while supporting manual timetable adjustments and PDF/Excel export.
Problem
College departments spend weeks manually building academic timetables, continually battling teacher overlapping and lab/room constraint violations.
Built
Constraint-driven scheduling monorepo featuring a Python OR-Tools solver, Node.js orchestration API, and interactive React timetable editor.
Outcome
Automated hard-constraint satisfaction and optimization with manual drag-and-drop cell adjustments and PDF/Excel export.
Key features
- Google OR-Tools Python solver engine for automated hard-constraint satisfaction
- Monorepo architecture separating React frontend, Node.js API, and Python solver services
- Multi-tiered scheduling rules: divisions, student batches, teacher loads, and lab room allocation
- Interactive timetable editor supporting manual adjustments with real-time constraint checks
- Automated export pipeline generating formatted PDF and Excel schedules for departments
Architecture
- Solver Engine: Python service executing Google OR-Tools constraint satisfaction algorithms
- Backend API: Node.js service managing institutional entities, scheduling queues, and exports
- Frontend App: React interface for division setup, timetable editing, and constraint configuration
- Shared Core: Monorepo package defining shared TypeScript types, schemas, and API contracts
TypeScript · Python · Google OR-Tools · Node.js · React · Monorepo