Keen IO and RethinkDB

Keen IO

Today I wanted to figure out how the Keen IO API works because I planned to attend a meetup there in the evening. I started by reading background articles, and this article written about Pebble, a smartwatch company, provided a solid introduction with an interesting use case.

Next, I read the Keen IO Data Modeling Guide, to get a sense of how to best organize data to work with their API’s. It seemed intuitive: create a project (or more likely projects), which will have collections of events, where each event has one or more properties. For each event, two built in time properties are automatically recorded: timestamp (which can be overwritten) and a created_at property (which cannot be overwritten). It is up to the user to decide what additional properties are needed.

I decided it was time to try a sample project using the getting started docs. First, I had to install a Keen IO SDK. I was torn between Python and JavaScript, but since the JavaScript SDK has visualizations, I decided to use JavaScript. Thankfully, there is a well-written README on Github and docs on npm. Keen IO installed rapidly and without issue. I signed up for a Keen IO account, opting for the free developer tier for now. 

Surprisingly quickly, I was able to make a file with sample data in JSON format, store an event and start analyzing the data. I counted the number of events, averaged the price property, looked at events in a given timeframe and with certain time intervals.

My next step is to use it for a web app that I will build. Stay tuned.


While the Meetup was hosted at Keen IO’s offices, the event itself was about Horizon 2.0 and Rethink DB. Prior to attending, I read about RethinkDB, which is a non-relational database. Since I only learned about relational databases at Hackbright, I have been trying to learn more about non-relational databases. (So far, I have taken a class on Firebase, a quick introduction to DynamoDB at AWS-Loft as part of the microservices classes, and I am doing the online Cassandra class from DataStax ).

The most interesting part of the meetup was a talk by Daniel Mewes, who explained what a Turing Machine was and coded it using the fold command in ReQL. I had never heard of a Turing Machine before, but the concept behind it is fascinating.



Comments are closed.

Blog at

Up ↑