Inspiration

The scheduling process for midterms at UofT is a logistical challenge, involving multiple departments, countless student schedules, and limited room availability. Faculty often waste weeks trying to create fair and efficient schedules, which leads to stress and inefficiency. We wanted to tackle this problem with a tech-driven solution that could streamline scheduling while ensuring fairness and accessibility for everyone involved.


What it does

Schedu.io is a web app (http://35.86.103.199:3000) that optimally schedules midterm exams for UofT faculty. It takes into account student schedules, room capacities, and faculty preferences to generate conflict-free, efficient schedules. Faculty simply input their course details, and the app provides a tailored midterm schedule that minimizes conflicts and maximizes resource utilization. Features include real-time conflict detection, scheduling flexibility, and more.


How we built it

We built Schedu.io using a tech stack designed for scalability and performance:

  • AWS Bedrock: Integrated with Claude for scheduling optimization. This combination allowed us to leverage AI to handle complex scheduling scenarios and create conflict-free solutions.
  • Next.js: Used for the frontend to provide a modern, responsive user interface that ensures a smooth user experience.
  • AWS EC2 Instance (http://35.86.103.199:3000): Hosted the web app and the database on the cloud for reliability and high availability, ensuring quick response times even under heavy loads.
  • Database: Managed with Prisma on the EC2 instance, providing a modern ORM for secure and efficient data storage and query handling.

Challenges we ran into

  1. Integration with AWS Bedrock and Claude: Fine-tuning the AI model to understand and prioritize scheduling constraints required extensive testing and iteration.
  2. ** AWS EC2 Instance Permissions : Tweaking the public EC2 permissions to allow it to be accessible to the internet was a struggle. 3 **User Experience: Designing an intuitive interface for faculty who may not be tech-savvy required careful consideration and feedback.

Accomplishments that we're proud of

  • Successfully implementing Claude via AWS Bedrock to handle complex scheduling optimizations.
  • Creating a seamless integration between the frontend and backend using Next.js and a bakcend hosted on a AWS EC2 instance.
  • Building a solution that solves a real, impactful problem for UofT faculty and students.
  • Developing a scalable system that can easily be adapted for other universities or similar use cases.

- Deploying it on the web (http://35.86.103.199:3000)

What we learned

  • The power of AWS Bedrock and AI models like Claude in solving real-world optimization problems.
  • How to leverage Next.js and AWS EC2 to create a performant and scalable application.
  • The importance of user feedback in designing intuitive, accessible solutions.
  • How to address challenges in integrating cutting-edge AI with practical scheduling constraints.

What’s next for Schedu.io

  • Expansion to Other Universities: Adapting our system to serve more institutions with similar scheduling challenges.
  • Mobile Integration: Developing a mobile app to make schedule viewing and updates more accessible for students and faculty.
  • Enhanced AI Features: Incorporating deeper learning from scheduling patterns to provide even more accurate optimizations.
  • AWS RDS for Database: Migrating to a managed database service like AWS RDS to enhance scalability and reliability.
  • Accommodation-Specific Features: Adding features to handle special accommodations (e.g., extended time, accessible rooms) more seamlessly.
  • Real-Time Communication: Allowing faculty and students to receive instant notifications for schedule changes or updates.

Built With

Share this project:

Updates