Mark Soper's Blog

Node.js Client for Runkeeper's Health Graph API

Runkeeper is a service that improves your fitness experience through the mobile device you probably already carry when you go for a run, bike ride, etc. It tracks your workout in a bunch of helpful ways, but really excels at making solo sports training a more social experience. Runkeeper is used heavily by a group of Boston tech cyclists and on a recent ride we cooked up an idea for a service that combines charitable donation with fitness training in a new way. With the recently announced Health Graph API opening Runkeeper to development, we set out to hack something up.

Why Node.js for a Startup Project?

Having used Node.js for a couple of contract projects, it seemed well-suited for this, a startupish side-project with a lot of uncertainty about the target we're trying to hit. Node.js is great for this situation because it means I can think about the overall architecture for the service in a single, javascript-based context. Why is this valuable? For example, decisions like whether to build a single-page app or a render pages more traditionally from the server can be made with less concern for future switching-costs because (if done carefully) most of the page-building logic can be re-used between browser and server.

Creating a Node.js Module for the API

We needed to create a way to bind to the Health Graph API from Node.js, so it made sense to package this wrapper as an open-source Node.js module. The Node.js Client for the Runkeeper Health Graph API is now available in an immature but functional state via Github, with npm distribution likely to follow. I welcome comments, feedback, bug reports, enhancement pull requests, etc.

What's the Startup Idea?

We're keeping the idea very hush-hush. The only thing we can talk about right now is that the user experience will not require or even encourage the wearing of mobile phone outfits for long endurance workouts.


blog comments powered by Disqus