UTCN SmartPractice
Internship matching platform for a technical university
A matchmaking platform connecting UTCN students with companies for technical internships, from application to signed contract.

The Challenge
Four hard constraints had to coexist. The matching engine had to respect mandatory skill requirements, faculty quotas, company capacity and student preferences all at once, while staying explainable to the people who sign the paperwork. The platform also had to serve three very different personas (students, companies, faculty administrators) from the same codebase, support Romanian and English with no compromises, and stay legible on the patchy mobile networks students actually use.
How I Built It
A typed React + Vite frontend built with Tailwind v4 and a component system designed around dark/light/system modes. The matching engine runs server-side over a relational schema optimized for fast re-runs: the faculty can adjust the inputs and re-match an entire round in under a second. The admin panel exposes real-time stats (registered students, active rounds, active matches, pending signatures), with drill-downs into weekly activity and top faculties. Everything is installable as a PWA, so students use it like an app on their phones, including an offline shell for the dashboard. i18n is baked in at the framework level, so every label ships bilingual from day one.
Explainable matching
The engine weighs mandatory skills, faculty quotas, company capacity and student preferences at once, and every match can be traced back to the rule that produced it.
Three personas, one codebase
Students, companies and faculty administrators get their own flows and permissions on a shared React and Tailwind v4 component system with dark, light and system themes.
Installable, bilingual, offline-ready
Shipped as a PWA with an offline shell for the dashboard, and with Romanian and English built in at the framework level so every label ships in both languages.

Results That Matter
Faculties run an internship round from one dashboard: adjust quotas or requirements, re-match the whole cohort in under a second and see who still has to sign. Students apply from their phones, in Romanian or English, and companies manage their offers on the same platform.
What I Delivered
- React + Vite + Tailwind v4 frontend with dark, light and system themes
- Server-side matching engine over a relational schema, re-runs in under a second
- Admin panel with real-time stats and drill-downs
- Three personas: students, companies, faculty administrators
- Installable PWA with an offline dashboard shell
- Romanian and English from day one




