A little project that hooks up a blink(1) to IBM Watson's Tone Analyzer
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Blink(1) Sentiment

A little project that hooks up a blink(1) to IBM Watson's Tone Analyzer in order to visualize the sentiment of Slack channels in real time.

Read my blog post on it here.

Of course, this doesn't have to be hooked up to Slack, but can be applied to any real time stream of text. It might be very interesting to see a visualization in real time of a Twitter feed, or the comments on a blog, or maybe even the captions on a TV. And hey, if you have access to a good Speech to Text service (like this one from Watson), that could get pretty interesting too.

To run the app:

babel-node app.js


  • An IBM Bluemix account
  • Tone Analyzer service bound to a Node.js runtime.
  • If running locally, must create a VCAP_SERVICES.json file that is identical to your environment variables in Bluemix.


Whenever someone messages something angry, it turns red:


...or when they say something happy it turns yellow:


...or when they say something sad it turns blue:


...and all shades in between.


Watson gives us values of 0 - 1 for the following nine sub-categories from the following three categories:

  • Emotional Tone: cheerfulness, negative, and anger
  • Writing Tone: analytical, confident, and tentative
  • Social Tone: openness, agreeableness, conscientiousness

"cheerfulness", "confident", "conscientiousness" contribute to yellow. "negative", "tentative", and "analytical" contribute to blue. "anger" contributes to red. "openness", and "agreeableness" contribute to green.


This app is licensed under the MIT license. Full license text is available in LICENSE.

Contact Me

All of my contact information can be found here