a personal api

a personal API

i’ve long been a follower of the quantified self – even back before we started calling it that and started building all this software behind it. when i was in graduate school, i remember thinking i wasn’t reading enough. so i made an effort to cut through many must-read books (75). in two years of school, i tracked (microsoft excel, as you do) each page read (21,278) and the number of days (622) and kept a running log of pages-per-day (34.21). i got my goal of 10,000 pages a year and, bonus!, i got through a few classics that still continue to be my favorite stories.

more recently, as i’ve gotten older, i started getting more interested in tracking my health and fitness. when we are young and in our twenties, we can get away with pretty much anything. but like everyone else, the older i get, the more i realize i only have one body – and that i should try to keep it tuned to get the most performance out of it. i started at first by writing my workouts down, and then trying out all types of digital trackers. one favorite tool that came out of this period was the withings scale: it allowed me to periodically keep track of trends in my weight and body composition and allowed me to think about big trends in my life that affected performance.

so far, i’ve used various tools and hacks over the years to collect this data. but i’ve long wanted it all in one place – or, at least, something to give me the illusion of ‘one place’. a dataset that is a single repository and view of my body as opposed to various silos of data scattered across different services and devices. of course, this requires that we all play along in some way and make our systems open and provide APIs for getting at this data. not only are we still in the early stages of building such self awareness software, but so too are we still some ways from designing the right data sets and figuring out ways to expose them to our users. i believe the openness of the latter is just as important as the first point and i think we still have some ways to go in that regard. (for example, on many of the services i’ve tried recently, i’ve had to cobble together and reverse engineer things to pull my own raw data out in some normalized form).

as a part of all these experiences, i’ve always been curious about the idea of a personal API – a ‘quantified naveen’ – that would expose all of the information i knew about myself in a clean, open document. i think i’ve wanted to do this because:

1) i wished to play with the idea of a ‘virtual me’ that’s entirely inside the machine;

2) the idea of a ‘published’, always-public me has intrigued me (we share our tweets and checkins and photos and music habits to a wide audience, so why not other types of behavior and habits as well?);

3) and i’ve been curious what one might be able to do with such a resource: will any of it be useful for research? might one create apps on top of me? or perhaps draw insights that i haven’t yet been able to see myself?

as a way to start this off, i’ve put up an API of such personal data. i’m calling it api.naveen. it currently exposes sleep, weight, steps, fuel/activity and checkins. i aim to keep adding to this list with a few more interesting ones as i think of them.

have a look: http://api.naveen.com/

drop me a note and let me know what else you’d like to see and what you end up doing with this. i welcome the start of a good discussion.

special thanks to: eric, for coining the term ‘personal API’; sameer, for help with the data layer.