How to beeminding a book to read

Hey all !

I have two books which I have been putting off to read since a number of years. I wanted to start beeminding my reading in order to push myself to start reading these two books which I have been procrastinating since the past 7 years.

The book is a self development book which has exercises within the chapters. Each exercises takes time as it requires you to answer questions which need reflection and contemplation.

I did scour the forum for book reading goals, but I found two approaches:
1 Beeminding the % of the pages read
2. Beeminding the time spent on reading the book.

I did think hard to try and think of a way to use these existing goal formats to my reading goal, but I could not apply them for the following reasons:

  1. The number of pages can not be beeminded because there may be a case where two self reflection exercises may be put in a span of two pages. So on such a day Imay just end up reading 3 pages because I would be spending the maximum time to answering the exercises.

  2. I did try and to beemind the time, but I did not find the it to exert enough sting to get me to read. Due to self reflective nature of the book it leads you to waste time and not make progress.

Has anyone tried and tested a tricky like mine. I would love to hear all the comments from the expert beeminders.



I’m currently Beeminding books per month using an IFTTT recipe linked to my Goodreads account. It’s nice because books I read via Kindle (either using the app on my phone or my actual Kindle) get marked as read automatically when I finish them, but I can also manually add paper books as well. I think you can just search IFTTT for Goodreads and then add it to Beeminder. It was pretty easy to set up.


Multiple goals, each with an ‘easy’ slope, each measuring progress in a different way. That’s what I do. The combination usually encourages the behaviour I wanted.

e.g. separate goals for: one page per day, one exercise per week, ten minutes per day.

If any of them build up too much safety buffer you can reduce it on the goal’s commitment tab, or configure max safe days if you’re on a Bee Plus (or higher) subscription plan.


It can be something simple as doing a manual entry of a number from 0 to 1 every day
0 being no progress
1 being adequate progress for a day
The hard part is being honest to yourself :slight_smile:

You can combine this with declaring in the morning the goal of the day and judging at the end of the day of you did what you intended. It can help when at the end of day your mind tries to find excuses for what went wrong.

1 Like

+1 for @apolyton’s strategy; personally, I have great luck declaring the goal the night BEFORE, when I’m full of optimism and hope for the day ahead :stuck_out_tongue: Of course, if your akrasia is longer term than a day, you might be better off with hard numbers like @philip suggested.

If it was me, I’d probably use a single goal, and set in the fine print that a 1 meant “at least 5 pages read” OR “at least one exercise done” (whatever numbers are reasonable), and then give it a rate like 4 a week, or however often you think you can legitimately manage that much.


Is there anything that could be used to detect me opening the Kindle app on my phone and giving me a non-cumulative point for the day? I’d love to be able to have a “read at least once a day” automated goal, but I don’t want reading five times one day to let me off the hook for the next five days. Probably this has to be done manually, but I thought I’d ask just on the outside chance that it might be possible.

1 Like

iOS? Android?

1 Like

It can be done semi-automatically via Good Reads, see my posts here Goodreads + Twitter + Zapier + Beeminder = tracking daily reading sessions



I am 95% sure Tasker can do that–you can set a Tasker thing to add a datapoint to a goal when an app is launched. I do not know how to set that up in Tasker, though, because I bounce off of it every time I try to use it.

I would get around the non-cumulative thing with aggday set to nonzero, so you’d get a datapoint of 1 on any day where there was at least one non-zero datapoint.

You may be able to get Tasker to do something more complicated and look at last_datapoint and skip entering if it’s for the same day, which would bypass the custom goal.