Inspiration

As enrollment season approached, one of our team members found themselves endlessly scrolling through Reddit, desperately seeking insights into specific Math 104 professors. Their exhaustive search left them empty-handed, prompting us to consider how valuable the wealth of knowledge and firsthand experiences shared by students on Reddit could be for the wider academic community. With the recent surge in Reddit's popularity, it only seemed fitting to harness this collective wisdom for the greater good.

What it does

Recap is a platform designed to assist students in finding relevant information about courses and professors. Users input the name of a course and professor, and Recap provides a curated selection of comments and posts related to that class. It also offers insights such as sentiment analysis for each comment and an assessment of the overall difficulty of the class.

How we built it

Our journey began with the integration of the Reddit API, known as PRAW. We set up a developer account on Reddit to gain access to their database and enable us to perform queries effectively. PRAW's innate ability to sort posts and comments by relevance was a substantial time-saver, allowing us to focus on extracting insights. We devised a preliminary algorithm for measuring course difficulty, which can undoubtedly be refined in the future. To determine sentiment, we employed Vader Sentiment for sentiment analysis, and for the sake of clarity and accessibility, we transformed sentiment scores into emojis. While some of the metrics were simplified due to time constraints, they served our purpose well.

Challenges we ran into

Initially, we explored the possibility of using Convex for our project, but we soon realized that we were faced with a learning curve that exceeded our technical expertise, particularly concerning Backend TypeScript. Reflex appeared to be a promising alternative, but server connection issues hindered our progress. Two-thirds of our team underestimated the complexity of building a web app, especially the Frontend development aspect.

Accomplishments that we're proud of

We take pride in bridging the Reddit community with students seeking invaluable information that was previously shared only through word of mouth. Our sentiment analysis and course difficulty assessments equip students with realistic expectations, enabling them to make informed academic choices confidently.

What we learned

This journey revealed that full-stack development is significantly more challenging than it might appear at first. Despite our limited knowledge of Frontend technologies like CSS and HTML, we managed to create a functional web app by using Flask and adding features like emojis in our final table view. We also learned about the rapid pace of real-world technology. In terms of data analysis, we made intriguing discoveries about the Berkeley subreddit (and about how much harder our classes are to Stanfords') and the vocabulary used to describe course experiences. We also encountered controversial insights about the popularity of certain professors compared to others.

What's next for Recap

Recap is poised to become an essential tool for every student. We envision its integration with websites like Berkeleytime to expand its reach. As we continue to refine our product, we aim to enhance its mathematical underpinnings, comprehend the limitations and contexts of our results, and improve accuracy through rigorous testing. There are glaring issues with data cleaning and accessibility that need to be fixed. While assessing course difficulty remains subjective, we are committed to refining our approach and striving for greater precision.

Built With

Share this project:

Updates