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.

Built With

Share this project:

Updates