HaveUReddit: Developed in 24 hrs at HackBU 2016

So, what is it and what does it do?

So glad you asked! HaveUReddit is an implementation of python running in a chrome extension which interfaces to reddit and displays the most trending phrases on your current subreddit. Once installed in chrome, just hit the blue and purple reddit hexagon on the bookmarks bar, to see what's trending!

We'll get into the technical stuff later, but you can try it out right now by going to the Centaurius github project page and download the chrome extension from our 'releases' folder.

Done? Cool, let's move on to the coding!

HaveUReddit is a project that is composed of many different elements. In short, upon clicking the application, the extension loads up an instance of python in the background, polls the current subreddit for data on the words used, and removes extraneous/common phrases. Finally, the remaining words are plotted in a 'word cloud' format...all in python.

To create this extension, our team used:

  • Reddit Praw: The Python Reddit API Wrapper
  • Matplot Library
  • HTML, CSS, JS, Jekyll, Markdown, and Pixlr
  • Chrome Developer Framework and Extensions Manager
...All in 24 hours!

Why is this project unique?

  1. It pulls data on the comments from a user-defined subreddit.
  2. It parses through all the text, eliminates the most common phrases or words, and then plots the results as a word cloud based on frequency.
  3. Unlike other word cloud generators, our algorithm is open source, written in python, complied in Pyjs, and runs within the browser!
  4. The algorithm can be used on any text file
    • We've tested this algorithm on Project Gutenberg books, and it had a low time complexity
    • We made the algorithm from scratch.

What have we learned?

Using python to create algorithms can be fun and a worthwhile endeavor, but cross-compiling to javascript to run the python code in the browser is difficult

Next Steps

  1. Optimize code better
  2. Create a .CRX file of our chrome extension
  3. Test, retest, and test again

Built With

Share this project: