Getting to Know Watson (Part 1): The Tools at Galvanize’s Cognitive Builder Faire


In April, I did something I’ve never done before: I participated in a hackathon. This post is part 1 of 2, and focuses on the tools I learned about at the hackathon.

Tools of the Future

Here’s a run-down of the really cool tools I learned about at Galvanize’s Cognitive Builder Faire.

Watson Text-to-Speech (and Forking Github)

The first new skill I learned at the Cognitive Builder Faire was how to use IBM Watson to write a text-to-speech program (If you’re interested in how to do this, check out the Github page we used at the faire, available here). Really, the first skill I learned was forking code from Github, which means essentially taking code that someone else has written and creating your own version of it. Github is the internet gold standard for sharing source code (learn more here), and I’m honestly a little embarrassed that it’s taken me this long to use it.

My first “tweak” of the weekend was to improve the code by allowing a user to input the text to be spoken via Terminal instead of having to edit the code in an editor (If you want to play with the code I wrote offline, I posted it on Github here).

Screenshot 2017-05-04 00.06.02
My updates to the text-to-speech code we were shown at the Cognitive Builder Faire.

Foursquare’s Location API

So, I thought Foursquare was so four years ago. Apparently, even though users don’t consciously use Foursquare, Foursquare’s location API actually powers most of the major location-based tools (examples: Uber, Starbucks, OpenTable). While using their API was really cool, the coolest thing I learned was actually that a thing called “notebooks” exist. These magical creatures allow you to do a “Hello World” (print “hello world” on some kind of output, traditionally the first program you learn to write in a given language – see my first Tech Talk Translated post, Hello world!) without actually doing any of the heavy lifting (e.g., installing the environment, library, packages, etc).

While some may argue that notebooks result in you avoiding doing any of the learning you’re supposed to be doing by doing a “Hello World”, notebooks are an awesome way to be able to learn a specific tool without having to take on learning an entire language/environment. For more on notebooks in general, check out Notebooks. This is what a Notebook in IBM’s Data Science Experience looks like:

A Jupyter notebook in IBM’s Data Science Experience interface.

Basically, they’re #magic

Chatting with Watson

I spent most of Saturday afternoon and evening (the first day of the hackathon) experimenting with various Watson features. I learned about intents, nodes, and training Watson. But hands down the coolest thing I came across was Watson’s conversation demo tool (link here). IBM really wants developers to use Watson, so they provide demo tools that let you see behind the curtain. This meant that I actually did get to gain some insight into how machine learning actually works without actually having to build something out from scratch.

IBM Watson not really understanding that I want the “cheapest” gas station


To sum: it’s easier than ever to dip your toe in the developer world. Gone are the days where you had to build out a project to get a feel for a tool. From Github to Jupyter notebooks to IBM Watson demos, the tools worth using are doing everything in their power to make it as simple as possible for you to plug-and-play and get up and running as soon as digitally possible (as opposed to humanly possible- see what I did there? hehe).

Update: Part 2 Posted
Getting to Know Watson (Part 2): Earning 2nd Place at Galvanize’s Cognitive Builder Faire

One thought on “Getting to Know Watson (Part 1): The Tools at Galvanize’s Cognitive Builder Faire

Debug This!

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s