I want to get non-statisticians to explore data using the English language. I also want to get statisticians to talk about data using English. The Alexa interface for the GapMinder database is inspired by this goal.

What it does

It takes english statements and maps them to structured queries on the GapMinder dataset. It is flexible in the english statements it recognizes.

How I built it

  • I created an AWS Lambda function to respond to Alexa events.

  • I wrote and deployed a node.js application to my new Linode server. It crunches the data, responds to AWS Lambda, and serves visulaizations to the client.

  • I created a graphical front-end using Highcharts and my usual front-end stack.

Challenges I ran into

  • The echo device cannot get past wi-fi captive portals so I had to get creative to give it internet access.

  • I have never written an AWS Lambda function or Alexa skill before so there was a lot of conceptual overhead to get through.

  • Things went wrong in the production environment that didn't go wrong in dev environment. This made debugging a very time consuming process.

Accomplishments that I'm proud of

  • I learned some cool new technologies

  • My hack works!

What I learned

  • Alexa app development

  • The importance of changing direction when a task becomes too time consuming

What's next for alexa-gapminder

  • More descriptive stats names as well as units

  • Incorporation of the _ complete _ GapMinder dataset

  • Expansion of Alexa's supported "Question Space"

  • User Authentication and Deployment to Alexa App store

Share this project: