Inspiration

As a new quarter approaches, many students have to look through several websites to decide which classes they want to take, starting from UCSC Class search, Catalogue, Rate My Professor, My Scheduler (and sometimes even Reddit!). SlugQuest provides a platform for such students to understand their course requirements, plan their quarters, and get the best fully online advice available.

What it does

SlugQuest requires an input of your most recent unofficial transcript, through which it analyzes which course you can take next quarter, according to prerequisites, scheduling, and professor rating. This output is put into words by our very one "Samuel the Advisor", and visually represented by an interactive flowchart on our website.

How we built it

To build this Web app, we used the following data

Data Obtaining

  1. We webscraped several websites, including Rate My Professor, Class Search, and the schedule for the next few quarters, using Beautiful Soup and Selenium Python libraries.
  2. We ask the user to upload their transcript to gain better insights into the courses they have completed, how many credits they have earned, and more personalised insights into their academic journey. ### Data processing Using the transcript, we understand which courses the user has taken, through which we determine the future courses the user has met the prerequisites for. The courses that the user is eligible to take are then filtered based on whether they are available next quarter or not. Then the code looks at the professors teaching the courses next quarter using the data obtained by scraping the UCSC Course Schedule. The list of professors obtained is then used to scrape their Rate My Professor rating. ### LLM Processing Then all of this data is sent to Gemini using an API Call to give it 'large context' on the conversation and role that's about to play for the user.

Challenges we ran into

  • RMP WebScraping: Beautiful Soup was not able to scrape the RMP data, and even after switching to the Selenium Python library, it took a while to get the code going.
  • Requirements Database: UCSC does not have a real requirements or classes database, so we had to manually type in the requirements for each class.

Accomplishments that we're proud of

  • The UI Graphics: We are very proud of how our graphics for SlugQuest came out, representing a mix of Stardew Valley and Minecraft
  • RMP WebScrapper: Rate My Professor has a complex HTML and JS interface, so it was a challenge to webscrape the website.
  • Developing a fully operational LLM Chatbot that reads documents: "Samuel the Advisor" understands your academic standing and advises you ahead.

What we learned

Through this project, we learnt many skills, including:

  • Better Web scraping skills
  • Making proper API Calls
  • Giving a Larger context through an API call
  • Understanding which data would be relevant and controlling the data that goes to Gemini

What's next for SlugQuest

The following are some of the features we would have loved to implement if we had more time:

  • 4-year planner with drag-and-drop with credits chart
  • Database for faster scraping
  • Make it for more majors
  • GE Tracker
  • Interest-based 4-year plan developer
  • A more robust LLM Model that helps edit the schedule
  • GPA Calculator
  • More graphics to gamify it better: Progress bars, characters, interactive blocks for classes
  • Making the website mobile-friendly
Share this project:

Updates