With emo, your webpage can now express its feelings to you.


Browsing internet is what we now do everyday. Living in the 21st century, we are highly influenced by online information. To have a better image in mind, emo is born.

What it does

emo is a Firefox extension that provides an judgment on each webpage and returns a lively emoji as feedback. emo returns smiling face when the contents of a webpage is very positive, for example. It would also presents a depressed expression if the webpage is sad :( More expressions are corresponded to different webpages. Users can click on the icon of the expression in order to see a larger, clearer webpage's emotion.

How we built it

We started off by setting up development environment for Firefox add-ons. We mainly had two parts for this project: Javascript code for the Firefox add-on presentation and operation and Python code to analyze web contents and returns a judgment in the form of numerical scores. We used native messaging in order to send message from Python to Javascript.

Challenges we ran into

We were not successful at the beginning in terms of native messaging, which is the communication between Javascript and Python. Since the library we used, NLTK, is only available in Python, we had to set up data transmission between these two languages, which is very hard to implement in a Firefox add-on.

Accomplishments that we're proud of

We are proud to see our functioning add-on. This small functionality can help people to better see what is coming up. It also adds a bit of fun for users when browsing internet.

What we learned

Firefox, or Chrome, add-ons are supposed to be only a small functionality added to the browser, so it is not intended to have many permissions regarding read/write local files. When developing add-ons or extensions, developers should only consider simple functionality rather than a fully functional program. Also, time management and work division are very important in team projects in order to have projects done on time and with good quality. Oh, also, passion ;)

What's next for emo

Better design should be implemented for emo in order to truly attract users and improve user experience. Also, emo should reduce the problem brought by native messaging by implementing the web-judging algorithm in Javascript.

Built With

Share this project: