Course registration can often times be the bane of a post-secondary student's existence. In a post-secondary system, registration deadlines, full classes, certain professors and class difficulties can make and break a student's university experience.

Enter CourseFlow, an AI-powered scheduler engineered to construct and optimize course schedules, catering to the student's needs and preferences, as well as course constraints and availabilities. CourseFlow intakes a student's day-to-day needs, and uses them to build a unique but realistic schedule to help the student manage their course load. Should a perfect schedule not be possible due to course restraints or direct conflicts with a class and student preferences, CourseFlow searches for alternatives that still benefit the student, while also providing explanations for tradeoffs.

We built CourseFlow using HTML, CSS and React.js to provide an interactive experience with schedule building and the AI assistant. For our backend, we used Node.js and Typescript to manage user data as well as to embed our AI agent into the software. For our agent, we used Gemini API and a solver using Python, employing principles of combinatorics to enable the agent to search for alternative schedules.

The biggest constraint we faced was time. Building an AI-powered scheduler is expected to take 2-3 days, but due to extremely strict deadlines, our time was severely cut. A second challenge that we faced was the tendency of the AI agent to choose absolute extreme solutions, neglecting user needs entirely. To fix this, a solver was developed to search for alternative options that still benefit the user either way.

As challenging as it may have been, this project was a success.

Moving forward, CourseFlow has strong potential to be expanded into a fully integrated academic planning tool. Future iterations could include real-time university course data integration, professor rating APIs, and calendar syncing to further personalize and automate the scheduling experience.

In addition, CourseFlow could incorporate long-term academic planning, allowing students to map out entire semesters or degree paths while balancing workload, extracurriculars, and personal commitments.

We are most proud of our ability to transform a frustrating and time-consuming academic process into an intelligent, user-friendly experience within a very limited timeframe. By focusing on both optimization and explainability, CourseFlow not only generates schedules but also helps students understand the reasoning behind each decision.

Ultimately, CourseFlow demonstrates how AI can be used not just to automate tasks, but to enhance decision-making in meaningful, real-world scenarios for students.

Share this project:

Updates