We first found out about an API from IBM named Watson Tone Analyzer, with this API we were able to analyze text and determine the overall tone of the message. This inspired us to utilize this tech into a more useful format. This format being real-time news.

What it does

This application takes real-time tweets and Reddit posts based on a user submitted keyword, and analyzed each and ever post using Watson Tone Analyzer API. This then allows us to display data based on how the world is feeling about any given topic.

How we built it

We have two separate python scripts that will utilize Twitter's API and Reddit's API respectively. These scripts each pull all of the most recent posts on the given keyword and run them through the Watson Tone Analyzer API. From here we are able to get the tones associated with each post. Using this data, we display a graph based on the frequency of each tone and all of the posts that were analyzed.

Challenges we ran into

The main challenge that we ran into was the latency associated with retrieving the tweets from Twitter. This is because Twitter has many restrictions on the amount of data that can be pulled and the frequency at which it can be pulled. We solved this issue by retrieving the most recent tweets in multiple waves, with the max amount of tweet pulls per query.

Accomplishments that we're proud of

We are extremely proud of the fact that we were able to use and combine multiple APIs without having any prior experience with any form of API whatsoever.

What we learned

We learned how to use all sorts of APIs and how to run python scripts from a javascript environment. We became more familiar with various frameworks such as Semantic UI, ExpressJS and Node. We also spent a lot of time optimizing our data pipelining in order to speed up our search and analysis results.

What's next for Comment Analyzer

More analytics!!!! We want to take in more data when it comes to the comments that we are reading and how many data points we get back from the Watson API.

Share this project: