Big Data

What it does

It visualizes the sentiment of Tweets in realtime. In particular, it visualizes tweets classified as happy on a certain topic, chosen by the user.

How we built it

We built this web app using a Node.js express server in tandem with the Sentiment140 tool to analyze the sentiment of live tweets about the chosen topic. The live tweet data was gathered from the Twitter Streaming API.We then used Mapbox GL JS to create a layer of the points where there were happy tweets about the topic using geoJSON and clustered them.

Challenges we ran into

The largest challenge we ran into was ensuring that all of the data was parsed to and from the json and geojson formats correctly. Retrospectively, we should have done more research into an API to work that process for us. Another problem we ran into was clustering the data points. The originial idea was to have point values for negative, neutral, and positive tweets, but the Mapbox API isn't set up to aggregate data values of each point, just the number of points. The compromise was to add only "happy" tweets on the subject.

Accomplishments that we're proud of

Creating the data flow from the Twitter API to Mapbox.

What we learned

We learned how to use Mapbox GL JS to display markers in real time and cluster them, how to parse to and from json, and that doing your data analysis using mostly javascript and node.js is not the easiest route to go.

What's next for SentiMap

Setting up a domain name, and working on the open source code for Mapbox GL JS to add an aggregate function (there's an open issue on github right now). Finally, making it so that the data is stored differently for different sessions.

Share this project: