eMeme is a web app and chrome extension internet meme recommendation engine that uses machine learning to find the best meme for any situation. The machine learning algorithm is powered by a Neo4j graph database using Py2neo to communicate with the Python microframework, Flask. The front end of the web app is built with Gumby, styled with Sass, and powered by Javascript and jQuery. To populate the database, I created a webscraper using PyQuery.
The eMeme chrome extension uses context menus to send a selection of text to be processed by the algorithm and returns an image in the reply box.
The eMeme web app uses Google + authentication for logging in and registration.
eMeme's recommendation engine works by processing and cleaning input from the user. It searches the database for images based on their relationship to each associated word (tag) and then selects three possible memes semi-randomly influenced by the weighted correlation between images and tags.
Back End:
- Neo4j/Cypher
- Python
- Flask/Jinja
- PyQuery
- Py2Neo
Front End:
- Sass/CSS
- HTML
- Javascript/jQuery
- Gumby