Inspiration

As a team of post-secondary students, we’ve all been through the torment of realising that the courses you intended to take have times that conflict with each other. But if there’s one thing AI can do, it’s making decisions in a short period of time (provided they have the data). Rather than having students search through each course description to decide on how they’ll arrange their schedule, we wanted to create a product that could generate schedules for them, so long as they are provided sufficient information to decide which courses should be in the schedule, and when.

What it does

Borzoi Scheduler is a website that builds course schedules for UofT students. Users just need to provide their program of study, the semester they’re planning for, and the times when they don’t want classes, then Borzoi will generate a schedule for them. With additional exchanges between the user and Borzoi’s AI chat, further specifications can be made to ensure the schedule is as relevant as possible to the user and their needs.

How we built it

Figma was used to create a high-fidelity prototype of the website, demonstrating its functionalities with a sample use case. Meanwhile, Python was used in combination with the ChatGPT API to build the chat that users will interact with to create the personalised schedules. As for the website itself, we used HTML, CSS, and Javascript for its creation and design. Last, but not least, we attempted to use Flask to bring the frontend and backend together. Given the time constraint, we were unable to incorporate the databases that would’ve been required if we actually had to create schedules with UofT courses. However, our team was able to utilise these tools to create a bare-bones version of our website.

Challenges we ran into

Although we were able to settle on an idea relatively early on, due to a lack of experience with the software tools we’d previously learned about, our team had trouble identifying where to start on the project, as well as the technicalities behind the way it worked. We recognised the need for implementing AI, databases, and some sort of frontend/backend, but were unsure how, exactly, that implementation worked. To find our way to the start of actually creating the project, we consulted multiple resources: from Google, to the mentors, and even to ChatGPT, the very AI we intended to use in our website. Many of the answers we got were beyond our understanding, and we often felt just as confused as when we first started searching.

After a good night’s rest and some more discussion, we then realised that our problem was that we were thinking too broadly. By breaking our ideas down into smaller, simpler chunks, we were able to get clearer answers and simultaneously identify the steps we needed to take to complete the implementation of our ideas. Our team still came across many unknowns along the way, but with the support of the mentors and quite a bit of self-learning, each of these points were clarified, and we were slowly, but surely, able to move along our development journey.

Accomplishments that we're proud of

Our team is proud of all that we were able to learn in these past 2-3 days! Although we weren’t able to come up with how to write all the code completely on our own, it was a rewarding experience, being exposed to so many development tools, learning the pros and cons of each, and (at the cost of our sleep) figuring out how to use the new knowledge. In particular, at the start of this event, our group wanted to work with AI specifically because none of us had experience with it; we wanted to use this hackathon as an excuse to learn more about this topic and the tools needed to apply it, and we were not disappointed. The time spent doing research and asking mentors for suggestions deepened our understanding of the use of AI, as well as a variety of other tools that we’d often heard of, but had never interacted with until we participated in this hackathon.

What we learned

As mentioned in the accomplishments section, after these past 2-3 days, we now know quite a bit more about AI and other topics such as APIs, JavaScript, etc. But technical knowledge aside, we discovered the importance of breaking problems down into more manageable pieces. When we first started trying to work on our idea, it felt almost impossible for us to even get one function working. But by setting mini goals, and working through each one slowly, and carefully, we were eventually able to create what we have now!

What's next for Borzoi Scheduler

At the moment, there are still a number of functionalities we’re hoping to add (features we wanted to add if we had more time). For one, we want to make the service more accessible by providing voice input and multilingual support (possibly with the use of WhisperAI). For another, we’re hoping to allow users to save their schedule in both a visual and textual format, depending on their preferences. Once those functions are implemented and tested, we want to consider the scope of our service.

Currently, Borzoi Scheduler is only available for the students of one school, but we’re hoping to be able to extend this service to other schools as well. Knowing that many students also have to work to pay for rent, tuition, and more, we want to allow as many people as possible to have access to this service so that they can save time that can be used to focus on their hobbies, relationships, as well as their own health. Though this is a big goal, we’re hoping that by collaborating with school services to provide accurate course information, as well as to receive possible funding for the project from the schools, this mission will be made possible.

Furthermore, as scheduling is not only done by students, but also by organisations and individuals, we would like to consider creating or adapting Borzoi Scheduler to these audiences so that they may also save time on organising their time.

Built With

Share this project:

Updates