Skip to main content
TL
Screenshot of the Schedule Finder interface

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.

Gallery