Tracking reading: Goodreads to Beeminder

If you’re into quantified self (e.g. digitally tracking your work, health, habits, whatever) you might have heard of Beeminder, which works as commitment device for following up on your plans. In my case, Beeminder has helped me keep track and build up my habits. One of them is daily reading for at least 10′. It’s a tiny amount of time but I’ve been able to read more books in the last three years than in the previous twenty

Anyway, here’s a method of (nearly) automated tracking of what you read, involving Goodreads, Twitter, Zapier and Beeminder. Some familiarity with Zapier and Beeminder is assumed (also that you have already setup your reading goal on Beeminder).

1: Connect Goodreads with Twitter (if you don’t know about it, Goodreads is an Amazon-owned site that allows you keep a record of the books of have read/are reading/want to read). This is done in the “Apps” tab of the “Accounts settings” option on the website. 

If you have a book in the “currently reading” setting, the Goodreads app (surprisingly not the website) will give you the option to update your Goodreads profile with a status on the progress you have made (in percentage of the book or a page number). 

Status updates come up on Twitter like this: 

2: Zapier is a web-based service that allows connecting other web applications and services and transferring data between them. This means we can setup to have Zapier monitor a Twitter account and used data from the tweets to add a datapoint to Beeminder. 

This recipe includes a filter step in the Zapier workflow to filter only the messages that are added via Goodreads. The filter setup looks like this. 

This means that the Zapier workflow will have three steps (reading tweets, filtering and posting to Beeminder) which is part of a paid plan (the least expensive is 20$/mo). However, if you use a Twitter account dedicated to your reading tracking, you can skip the filter step and use a free Zapier account.

3: The setup form of the third step looks like this.  

The end result of all this: after finishing my 10′ reading session, I can open the Goodreads app and just enter the currently read percentage of the book. This is then automatically sent to Twitter and ends up on Beeminder through Zapier.  

The data tab on the reading goal page  on Beeminder will have a full (and exportable) archive of my daily reading. Let me know if you try this or accomplished something like that in a different way! 

Also published on Medium.