We were inspired by the browser extension Momentum. Momentum beautifies your new tabs with pictures from around the world and motivates you to focus through quotes and mantras. While productivity is great and all, we thought everyone could use a few more laughs during this time of quarantine and isolation. And thus, the MemeMachine was born.

What it does

Our Google Chrome extension, the "MemeMachine," generates a random meme from our extensive meme pool and displays it on the browser page. A new meme populates your screen every time a new tab is opened or when the "new tab" page is refreshed so you can keep meme-ing to your heart's content! For an extra bonus, the MemeMachine works without internet. So when your apartment wifi conveniently drops during class or work meetings, the memes live on!

How we built it

The MemeMachine was built with JavaScript, HTML, CSS, Python, and .json. The UI was made in HTML and CSS while the random generator and Chrome extension was built with JavaScript and .json. Python was used to scrape the internet for high quality memes and to compile the images.

Challenges we ran into

We ran into a lot of issues trying to make the Google extension activate on a new tab. In addition, making the image in HTML link up with the random variable defined in the JavaScript file took quite a few hours and a little help from the mentors (Thanks, George!) to solve.

Accomplishments that we're proud of

This is our first Hackathon as a group so we're really proud of being able to submit a finished project! We have never made a browser extension before and it was Kara's first time working in JavaScript. In addition, we only have one Computer Engineering major on our team! We're really proud to have worked through the difficulties that we encountered. (We were especially motivated by the awesome TAMUHack themed cupcakes Brittany made).

What we learned

We learned a lot about programming and how to implement computer code to make an actual usable product. Kara learned a lot about working with JavaScript, Google's browsers extensions, and HTML. Garrett learned how to webscrape with beautifulsoup and pillow modules. Brittany learned how her unique skills can contribute to any team. Cody learned graphic techniques that allowed him to add cool features to the meme extension.

What's next for MemeMachine

If we had more time, we really wanted to implement a customizable meme generator with tags associated to each meme. The extension would ask for key words, such as 'what mood are you in ?' that would then generate memes with tags similar to those words. In addition, we want to improve the python web scraper so that it updates the meme pool every couple of months to ensure the memes are always up to date and relevant. We would also like to implement a Firefox MemeMachine extension.

Share this project: