Low FrictionPersonal
Data Collection
@aaronpk • aaronparecki.com
Quantified Self PDX • September 2013
Things I track consistently
Location: GPS (since 2008)
Location: Checkins (since 2009)
Sleep (since November 2011)
Weight (since October 2011)
Steps / Activity (since November 2011)
@aaronpk
Things I track consistently
Location: GPS (since 2008) iPhone
Location: Checkins (since 2009) Foursquare
Sleep (since November 2011) Jawbone UP
Weight (since October 2011) Withings Scale
Steps / Activity (since November 2011) Jawbone
@aaronpk
Things I track inconsistently
One photo every day – off and on since 2007 – various apps
Bike Rides – Usually rides only > 1 mile – Strava
Heart Rate – During bike rides or other activities – Strava
Food I Eat – Aug 19 - present – text file on my phone
Publishing My Location
One decimal point of precision (about 5km)
City name
Local time and timezone
aaronparecki.com
Publishing My Location
Four decimal points of precision (within a block)
City name
Local time and timezone
Automatic reply to an SMS
Publishing My Sleepaaronparecki.com/metrics
Also includes the city I slept in from my GPS data
Publishing My Weightaaronparecki.com/metrics
Location2008 - Present
@aaronpk
Hardware GPS Logger (2007)
@aaronpk
GPS-Enabled Phone (2008)
@aaronpk
Geoloqi on an iPhone
@aaronpk
Stored in PostGIS
Queryable by timestamp or by area
Timezone API
Created with github.com/esri/Terraformer
curl http://api.example.com/?lat=45.5118&lng=-122.6433
{ status: "ok", timezone: "America/Los_Angeles"}
SMS Interface
Your Phone
Google Voice
Gmailnotification
of SMS
aaronparecki.com
You send me an SMS
Google Voice sends me an
email with the SMS
A Gmail filter catches it and
forwards it to my web server
then sends an email reply to the “from” address of
the SMS notification
Google Voice sends you an SMS
from my phone number
My web server retrieves my location data
* it would also be simpler to use Twilio for this, but I like that the SMSs are to and from my own number, hence the Google Voice round trip
@aaronpk
WeightOct 2011 - Present
@aaronpk
@aaronpk
Withings Wireless Scale
Weight Data Flow
Withings Scale IFTTT
Gmailnotification
aaronparecki.com
Withings API reports to
IFTTT
IFTTT sends me an email with all the
data
A Gmail filter catches it and forwards it to my
web server and creates a new post
* the Withings API was too difficult to use directly, so I had to go through IFTTT as a proxy. I would love to find a simple Ruby/Sinatra or PHP app that someone else has written as a template!
@aaronpk
Withings Wireless Scale
@aaronpk
Withings Wireless ScaleGeoloqi
Acquired
SleepNov 2011 - Present
@aaronpk
Sleep Cycle App
Place your phone on your bed
Requires your phone to be plugged in
Can wake you up at an appropriate time
@aaronpk
Original Fitbit
Tracks steps, activity, and sleep
To track sleep, requires you wear it around your wrist
I was not able to sustain this because of the extra effort of using the wrist strap
Long button press to put into “Sleep” mode, gives visual feedback but no vibration (timer starts running)
@aaronpk
Jawbone UP
Always on my wrist, so I never forget about it
Battery lasts 8-10 days
Long button press to put into “Sleep” mode, gives visual and tactile feedback
@aaronpk
Sleep Logs
@aaronpk
Times are localized using location data
Timezone is found using Terraformer
Using a reverse geocoder to add City, State, Country
Sleep Logs by City
Sleep Logs by CityJetlag
SXSW
Sleep LogsNov 2011 – September 2013
Sleep LogsNov 2011 – September 2013
PrivateDatabase aaronparecki.comPublic
Some patterns are only visible after looking at a
long-term dataset.
@aaronpk
I set up systems to passively collect data so that I have lots to work
with later!
@aaronpk
Low Friction
Thanks
Aaron Parecki
@aaronpk
aaronparecki.com