Does Beeminder support TODOs, Habitica-style?

Say I want to do a certain thing a flexible time from now. I don’t know when. Since Beeminder demands a time limit, I select “1 year”.

I have to do this 1 thing in 1 year or I’m charged $5.

This would work except that Beeminder divides the 1 unit and says I have +0.01 unit due in 2 days or I pay $5. That’s not at all what I intended. Halp.

Would… giving all such 1-unit TODOs +0.99 upfront, saving the remaining 0.01 to the end of the 1 year deadline work?

1 Like

There’s a companion app for iOS called GTBee that lets you set one-off tasks with deadlines and charges.

As you probably suspect, the whole point of Beeminder forcing you to do something soon is to avoid the year coming to an end without you making any progress at all. For bigger/important/time-consuming goals, you’ll probably also want to create one or more goals that make you spend some time making incremental progress.

Emailing us at is your quickest route to getting this adjusted.

Although the default is 2 days before you have to do something, you can change that when creating a goal. Here’s an example that won’t force me to do anything until a year from now:


Some people have had success with recording incremental progress, such as allowing themselves to add +0.1 every time they work on a blog post, but only going to the next whole number when they’ve actually published it.

1 Like

The problem is what if it’s something that doesn’t lend itself to incremental progress, like mowing your lawn or torrenting the 1992 classic, 1492: Conquest of Paradise? It seems like what I suggested works for that, if wonkily:

I set goal for 1 thing per year.

I see “bare min +0.00274 in 2 days”.

I add +0.999.

I then see “+0.00032 in 366 days”.

Far from perfect, but close enough.

I’d say the suggestion @philip made (of setting it up with 365 days buffer) is kind of preferred to that of adding 0.999 in that we really hate people adding fake data (it’s a slippery slope, etc etc). :slight_smile:


It’s actually way better than the 0.999 thing. Thanks for pointing that out.

I skimmed that middle section of philip’s answer; I looked at the picture he linked, but my brain didn’t translate the symbols on the screen to any kind of meaning. Because it sucks.

Buffer feature satisfies my use case. uwu

EDIT: Except for non-incremental repeat TODOs; there, it should still be a problem (but at that point they’re no longer “TODOs” and are taxonified as “dailies”/“weeklies”/etc.). Like you mow the lawn every week. A 7-day buffer will work the first time. But thereafter, you’ll need to need to frontload a 0.999 every time to soak up this week’s unit’s subdivisions until the day you mow the lawn. And repeat. No?

No. Having entered a full +1 when 0.0whatever becomes due after 365 days, you should then be above the road for a year. Or seven days, or whatever the time period is.

If I understood correctly, @narthur is working on a service that’s covering that use case. It’s called TaskRatchet (dev thread). It’s not directly a Beeminder thing, though and in a very early stage. He’s looking for people who are interested in giving Feedback about what a service like this should look like.


Yes, for sure! If you’re up for it, I’d love to have a ~30 minute conversation about your use case and how a tool like TaskRatchet could fit into your workflow. Send me a private message if you’re game.

1 Like

There’s a semi-hidden feature called integery that makes your goal ask for a full +1 rather than +0.03 or whatever.

For reasons that may no longer be relevant, that’s a premium feature but I suspect that, if you ask nicely, support will be happy to turn it on for a particular goal.

1 Like

This is true!

A goal with a buffer of 7 days that’s due in 1 day has its safety buffer reset to another 7 days:

That’s great. Non-incremental, periodic tasks are thus possible.

(The UI should make it clearer that the safety buffer resets. For some reason, I intuited and assumed that it was a one time thing.)


Hmm, that’s a misunderstanding as well, because the safety buffer never “resets”. That number you entered at the beginning is arbitrary and without it there, if you started the graph by entering +1 as soon as 0.whatever was due, you’d have exactly the same situation as you do now.

Perhaps understanding how the graph works will help make the behaviour a bit more intuitive: the yellow brick road will always rise (or fall, for other types of graphs) at a certain rate per day. All you need do is stay above it. When you enter +1, and the line is going up at 1/7 per day, it will take 7 days for you to be no longer above the road. To stay above a road like this, you can either do 1/7 a day… or 2/7 some days… or 3/7, even less regularly… or you can enter +1 and be above it the whole week.


So, like. Without the buffer, my picture would look like it does except without the flat segment at the very beginning?

1 Like

Yup! The leftmost flat segment is what you get with the initial safety buffer during goal creation.


Hi - I’m new to both Beeminder and the forum. I was directed to this thread when I emailed support because I hadn’t realized that goals like “yoga 3x/week” or “run 6 miles/week” were measured daily vs. weekly and was about to get charged when I wasn’t actually going to miss my goal*.

Honestly, I’m still a bit confused. The support person who emailed said that adding a 7 day safety buffer would work and linked to this thread but, if I’m reading this correctly, it seems like that would only work for the 1st week, not any future weeks, so it’s not actually a fix.

Is the only way around this to enter fake data, as described (e.g. 0.9 sessions of yoga today and 0.1 sessions tomorrow if it would charge me today but yoga class is tomorrow)? I understand why Beeminder would “really hate people entering fake data” but it seems like that is the only option.

Am I missing something?

Thanks in advance!

*I can’t do 0.43 sessions of yoga every day to meet the goal of 3 yoga sessions per week…I will do 1 session on 3 of the 7 days in a week and if the final session would fall on the last day of the week, Beeminder thinks I’m off track when I’m not and wants to charge me even though I will accomplish my goal

Thanks so much for asking about this! This is super confusing at first but makes so much sense once you think of it the right way. (And we need to figure out how to make that happen faster, which your question is very much helping with!) Adding an initial safety buffer does permanently solve the problem – the way to think of it is that you start with 7 days of buffer so you have a week to do your week’s worth of work. If you do that week’s worth in time then that will necessarily build your buffer back to 7 days and you repeat the next week, ad infinitum.


I mocked up a goal doing this for a 3/week rate just to make it clearer, so here it is for posterity!

At the end of the week of flat spot, the week’s leeway is maintained as long as three datapoints have been entered!

1 Like

Thank you!