Inspiration
Our inspiration came directly from our own experiences as university students. Every semester, we'd face the chaos of a new timetable – last-minute changes, clashing classes, and inconvenient schedules. We saw how much time and effort our college administrators spent trying to manually solve this massive puzzle. We knew there had to be a better, smarter way. We were inspired to build a tool that could automate this complex process, saving time and reducing frustration for both the administration and the students.
What it does
ChronoSync is an intelligent web platform that automates the creation of university timetables. An administrator simply inputs the core constraints of their institution—such as courses, professor availability, room capacities, and student batches. With a single click, our powerful algorithm generates a complete, clash-free, and optimized schedule.
Key Features include:
A simple interface to input all required data.
One-click automated generation of a balanced and efficient timetable.
An interactive calendar view where admins can make manual drag-and-drop adjustments with real-time conflict detection.
Role-based views for administrators, faculty, and students.
Easy export of timetables to PDF and Excel formats.
How we built it
We built ChronoSync as a full-stack web application using a modern, fast-paced tech stack perfect for a hackathon.
Frontend: The user interface was built with React (using Vite) for a snappy and responsive experience. We used Tailwind CSS for rapid styling and the Shadcn/UI component library to create a clean, modern look. The interactive timetable itself is powered by the FullCalendar library.
Backend: The server and core logic run on Node.js with Express.js. The "magic" of our project is a Constraint Satisfaction Algorithm we implemented in Node.js to handle the complex scheduling logic.
Database: We used Supabase as our backend-as-a-service. It gave us a powerful PostgreSQL database, user authentication, and instant APIs, which saved us a massive amount of development time.
Deployment: The frontend is deployed live on Vercel, which hooks directly into our GitHub repository for seamless continuous deployment.
Challenges we ran into
Our biggest challenge was designing the core scheduling algorithm. It was a complex task to make it both efficient enough to run quickly and smart enough to handle dozens of competing constraints without errors. We spent a lot of time whiteboarding the logic and testing it with different scenarios.
Another hurdle was creating an intuitive UI for inputting the constraints. We wanted it to be powerful for admins but not overwhelming. Finally, managing the state of the interactive calendar, especially with the drag-and-drop feature and real-time conflict checking, was technically challenging.
Accomplishments that we're proud of
We are incredibly proud of getting the scheduling algorithm to work flawlessly. Seeing it generate a complex, 100% valid timetable for a dummy dataset of an entire department for the first time was a huge "Eureka!" moment for our team.
We're also very proud of the polished and intuitive user interface, especially the smooth drag-and-drop editor. Building and deploying a complete, functional full-stack application from scratch within the limited timeframe of this hackathon is an accomplishment that our whole team shares.
What we learned
This hackathon was a massive learning experience. Technically, we learned a great deal about the complexity of constraint satisfaction problems and algorithmic efficiency. It was also our first time using Supabase in a project, and it proved to be a game-changer for rapid prototyping.
On the teamwork side, we learned how to effectively break down a very large problem into smaller, manageable tasks. The intense time pressure forced us to prioritize features ruthlessly and communicate clearly and constantly.
What's next for ChronoSync
We believe ChronoSync has the potential to become a real-world solution for educational institutions. Our next steps would be to:
Integrate Student Preferences: Allow students to input their elective course preferences, which the algorithm can then factor into the schedule.
Add Automated Notifications: Implement email or push notifications for students and faculty whenever a change is made to their schedule.
Build an Analytics Dashboard: Provide administrators with insights on resource utilization, such as which classrooms are used most or which professors have the heaviest workloads.
Scale the Algorithm: Further optimize the scheduling algorithm to handle the massive scale of larger universities with thousands of courses and students.
Built With
- express.js
- fullcalendar
- javascript
- node.js
- postgresql
- react
- shadcn/ui
- supabase
- tailwind-css
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.