Inspiration
The inspiration of the project started from our goal of wanting to help make students' lives easier. The theme was to make technology that helps us use technology less so we aimed to build an application that minimized student workflow in some area.
What it does
The application webscrapes all the class entries from OU's ClassNav website (10000+ entries). The user is prompted to enter classes they need to enroll into then we pass the user requirements to an OpenAI model to select the classes for the students. The model returns three variations of different possible schedules that suit the student's needs.
How we built it
- We designed the backend using Flask and used the request library to scrape data from ClassNav.
- For the model we used Open AI's 4o model to interpret different prompts which is configured by the user.
- For the frontend we used Nextjs as the framwork and Shadcn as the component library.
Challenges we ran into
We had issues with passing schedules that were generated from the server side to the client side for rendering. We had issues with typescript and using it efficiently.
Accomplishments that we're proud of
Some accomplishments we are proud of is learning more about how Typescript is structured and its vast complexities. Scraping web data by using requests. Lastly, implementing OpenAI models into our project.
What we learned
We learned how to use the OPENAI api, how to filter a large ammount of data, and how to web scrap class nav by mimicking web requests.
What's next for Soot Scheduler
The next steps for Soot Scheduler involves incorporating a well defined way to pass data between routes/pages. Having function advanced parameters that are passed to the model. Incorporating a feature to include RateMyProfessor scores. The last thing would involve figuring out a faster way to scrape the information from ClassNav.

Log in or sign up for Devpost to join the conversation.