The Old It all began with the feels. For centuries, humans have attempted to record the wide range of emotions they feel through literature and arts.

The Transition With an average daily volume of over 500 million tweets, Twitter is an incredible treasure trove of data. But what to do with this data?

The New Enter Emotimap. Emotimap integrates the old with the new by quantifying emotions through lexicon based sentiment analysis of Twitter tweets in real time.

What it does

Unlike other apps, Emotimap is a fast, lightweight, and scalable cross-platform solution that provides a full suite of tools to optimize your social media success, including:

Real-time analysis: Near-instantaneous updates, keeping you up with the latest trending topics

Cross-platform syncing: So you can keep up-to-date on the go

Beautiful visualization tools: To help you understand what people are feeling

.....And more!

How we built it

A partial list of APIs and libraries used in the creation of Emotimap.

Twitter Search API The Twitter Search API was used to search for and retrieve tweets that matched a keyword or hashtag. Then, the tweets were parsed and analyzed.

Microsoft Azure Lexicon based sentiment analysis and natural language processing was done using Microsoft Azure to measure tweet sentiments.

Firebase REST API We used the Firebase database and web hosting service seamlessly integrate everything together, from the tweets to the website.

Google Maps API The MarkerClusterer library was used in conjunction with the Google Maps API to display tags to show tweet volume trends.

D3.js This Javascript library was used to apply transformations on the data, creating the real-time line graph.

Google Charts We used Google Charts to display customized bar graphs and pie charts.

Challenges we ran into

With this many APIs, a major challenge was figuring out how to integrate everything. We wanted to be able to add new tweets while accessing the old tweets, all in real-time, without running into any problems. To do this, we used a NoSQL database hosted by Firebase to simultaneously sync with everything, which saved us tons of headache. Firebase also provided a web hosting service that allowed us to access our finished product from any computer, instead of hosting it on a local server.

In addition, managing all the different languages was also a difficult task, as certain libraries did not play well with others. With everyone working on their own component, merging everything back together took some time.

Accomplishments that we're proud of

We are proud of having used Microsoft Azure and natural language processing for the first time. In addition, none of us had used Twitter's API, so being able to learn something new was exciting :)

What we learned

We learned how to use different APIs, how to access things from a database, and how to integrate everything together. We also learned how powerful machine learning and natural language processing can be.

What's next for EmotiMap

The next steps for EmotiMap involve expanding to other social media sites, adding new search terms, and adding other natural language languages and processes, such as key phrase extraction.

Share this project: