Inspiration

With the recent events surrounding Reddit and GME stonk & crypto to the moon, I've been interested in getting a better perspective of Reddit's movements while they are happening. However, I don't have the time (and commitment) to browse Reddit threads 24/7 :)

What it does

Our project scrapes Reddit r/CryptoCurrency's Daily Discussion posts and performs sentiment analysis on trending coins. These results are then posted on our webpage and emailed to users. This means you can interpret Reddit shenanigans without reading a word they post :D

How we built it

The Reddit scraping & analysis makes use of praw and NLTK. This script is run hourly (8AM Eastern) to ensure up-to-date sentiment analysis of Reddit's mood swings using cron on a Raspberry Pi. Finally, the data is visualized into graphs with pandas and matplotlib and these images are uploaded to Google Cloud Storage. Our static website (hosted with GitHub pages) references these images for all users to see.

Reddit scraping inspired by asad70 and EatTheBlocks; Website makes use of HTML5UP template

Challenges we ran into

The primary challenge I ran into was how to piece together the existing sentiment analysis code, but create a more user-friendly experience (recall that the issue is that not everyone has time to read up on Reddit shenanigans consistently, but manually installing & running the scripts is also not convenient). Fortunately, it turns out automating the process is pretty simple with time-based job schedulers like cron. With the automation in place, all that was left was sending the results to users which can be done in several ways. In my case, I made use of emails and a website.

Accomplishments that we're proud of

It works, is automated, and looks nice :)

What we learned

A lot of cool stuff exists on the Internet. The bulk of this project had already been done for me, I just needed to find it and twist to it fit my needs. Also, Google Cloud Storage is pretty cool!

What's next for Reddit Crypto Analysis

Stonk analysis, public email notifications (currently, reports only goes to dev email), more website functionality (probably need to get a backend for that...)

Share this project:

Updates