We wanted a simple way to visualize how people were talking about current events. Twitter and Facebook have trending topics, but nothing (at least easily accessible) to analyze how people actually are feeling about the topic. You could open the topic in your browser and read a subsample of the messages, or have a service scrape a hundred or more entries and do the analysis for you. We opted to create the service.
What it does
Social Tone is a simple search engine that runs your query against (soon to be multiple) web services, such as Twitter, and fetches a few hundred data points to be processed. We then leverage the power of IBM Watson's tone analysis service to analyze the emotional tone conveyed within the data, with the results of the analysis being visualized by a series of beautiful graphs. The site also logs the query and sentiment in a database, so if the word has been searched before it will show you a time-series analysis of the sentiment through all available queries.
How we built it
The backend is in Python 3, using Django as the server to ease database manipulation and queries, as well as allow various Python APIs, like
Challenges we ran into
The first challenge was even coming up with something to do, as we showed up with no plans. It started with just setting up the AWS EC2 instance with nginx, gunicorn, and django, as that was all we knew we were going to be using. From there we started messing around with review aggregation, but found that a lot of services weren't very friendly to hook up to, outside of Twitter so we just went with that.
Accomplishments that we're proud of
Just finishing a project was an accomplishment for us, not to mention that it looks nice (for two non-designers). Also it was pretty cool to get SSL set up on the site using a free certificate from LetsEncrypt! Honestly, tying all of these different languages and frameworks together was pretty cool.
What we learned
What's next for socialtone