Inspiration

All our team members are avid fans of daily games and guessing challenges that really put our knowledge to the test. One such game is Wordle, a fun game that massively grew popular a few years ago, in which the player had to guess a random five-letter word, getting clues on which letters could be in which position. Professordle is a spin on Wordle that takes inspiration from our life at UCSB.

What it does

Professordle is a professor guessing game in which the user can guess various professors that have taught at UCSB in the past four years. For each guess, the user is given clues through similarities of certain categories, being their department, courses taught, and their overall rating and course difficulty, according to Rate My Professors. The goal of the game is to guess the correct professor given these clues within 6 guesses.

How we built it

We used the React framework Next.js to power our web-application. Using Python and C++, we collected, sorted, and filtered all the data from the UCSB DailyNexus public records of UCSB student grades in the past 15 years as well as using a Python library to scrape Rate My Professors for other details of the professors. Using this data, we had the files to back Professordle. The user would give their guesses, inputting a professor's name, and our code would compare the professor they chose and what department they are in, what their RMP rating is, what their RMP difficulty is, and what courses they have taught, and compare it with the actual professor that was randomly chosen by the game. Depending on if certain aspects were the same or differed, the tile would pop up red or green.

Challenges we ran into

As this was the first hackathon for our whole team we had to learn how to work together as a team using github and create a project completely from scratch. Some individual challenges for the back-end included struggling with the data in order to get it into forms that would be later processed and implemented into the actual game. The far more challenging side of the project was the front-end UI and design of the game and as all of us were new with Next.JS or had very minimal experience with it. We had to spend a lot of time looking through video tutorials and asking for help to determine how to even do simple things such as formatting divs and scrollviews and buttons. However, we managed to still get a working product in the end.

Accomplishments that we're proud of

As a team, we were able to eventually create a game that is playable, despite being extremely difficult, having multiple functions and working as we intended. We set a goal for a project that was challenging for us to complete, yet with a little time and teamwork, we would be able to overcome most of the obstacles in our way.

What we learned

We learned a great deal in both creating a frontend and backend of a web app as well as in techniques for processing and tidying data. We went from extremely barebones Node.js and React knowledge to developing a functioning, interactive game within 36 hours. On the data analysis front, we learned techniques to parse csv and json files in C++ and Python and applied them to generate numerous different formats of our data.

What's next for Professordle

Future updates for Professordle could include more specific clues to help narrow down the possibilities, as the game currently is extremely difficult as a result of the large amount of professors. Some improvements could be adding indicators of a range or comparison for criteria such as the professor rating or difficulty level, improved filters for departments, and in general, more specific clues to help the player get closer to the mystery professor.

Share this project:

Updates