
Schedule Finder
Automatically generating a technical institute's internship and apprenticeship defense schedule.
Role
Frontend and React port
Period
Technical stack
- React
- TypeScript
- Vite
- Zod
- TanStack Table
In brief
Two colleagues I like at the institute had started this tool in Angular, the only stack they knew a little. When the web curriculum moved to React, I took it over and ported it in a week, as much to help them out as to show them how to structure a small React app.
Highlights
- Two steps: enter the reference data (rooms, teachers, students, time constraints validated as you type), then generate the schedule, shown as a global view and a per-room view, editable row by row.
- At the core, a scheduling algorithm written by a colleague with a PhD in AI: it forms the panels, splits the days into slots (breaks, lunch and weekends excluded) and assigns the defenses using two distribution strategies.
- A fully frontend application, with no backend and no install: the data stays on the machine and the tool works as is.
- Ported from a first Angular version in a week and aligned with the institute's visual identity, with a domain-based structure meant as an example for colleagues and students.
- Used for the 2025 defense session, and considered for integration into an internship-management application.