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
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.