TL;DR: Imagine you could enter “pre-commit” data points in the future. Then, if you don’t enter a real data point of at least that amount before that time, your goal derails. This post discusses what I would do with such a feature and what problems I think it would solve.
Problems I’m Having
I have several recurring problems which I think can be summarized as “Delaying on your goals until the exact nanosecond Beeminder is going to derail you causes problems.”. Namely:
- I have goals which cannot be completed on weekends, and some goals which cannot be completed on weekdays. If I wait until eep!, I often derail due to ineligibility.
- Some days I have a lot of eep!s and if I wait until midnight for all of them, there’s no hope of completing them all.
I’ve seen the following solutions offered previously:
- Flattening your road (either by hand or programmatically). This has been talked to death so I hope you’re already aware of the drawbacks.
- Using arbitrary deadlines to stagger your eep!s. I don’t care for this option because it feels crushingly arbitrary when there’s only one eep! in the day. If I set my goal to derail at 2 PM, it’s 2 PM no matter the day and no matter what other goals are due. Not to mention I have more than 24 goals, so I would need sub-hour spacing!
Suppose you could enter pre-commit data points for the future which become mini-contracts. For example, suppose I have a goal that’s due in 5 days. If I add a pre-commit for +5 in 15 minutes, the goal would change to “eep! 15 minutes” and then derail in 15 minutes unless I’ve entered data points totalling +5 before then.
- I can work around weekends/weekdays off without editing the road. If I ever have a moment of non-akratic thinking, I can commit myself to getting my stuff done before the weekend. I also believe it would also be much easier to programmatically inject pre-commit data points than it would be to edit the road via the API.
- If I wake up with a bunch of eep!s, I can sit down over breakfast and plan out my day. If I sprinkle pre-commits throughout the day, I get the benefits of staggering my deadlines without having to guess in advance what time of day is best for each goal. I can take into account my schedule for that day and exactly which goals are eep!ing. You could implement arbitrary deadlines for, say, 2 PM, by leaving your actual deadline as midnight and then always injecting a pre-commit data point at 2 PM. I think you would also side-step the nightowl vs earlybird headaches because midnight would remain the true hard deadline (so if you can only work from 2 - 4 AM you would know that you need to pre-commit to yesterday’s 2 - 4 AM if you wanted a non-midnight deadline).
Anyway, I know this is super random and possibly not well thought out. Thanks for reading
 Dealing with aggday is left as an exercise for the reader.