What Happens After You Miss a Task
You miss a task. Not because you stopped caring about it, but because something else happened first: a call ran long, the kid needed picking up, you fell asleep on the couch at nine instead of doing the thing at nine. That's not really a planning failure. It's just a normal Tuesday.
Most task apps handle it the same way. The task turns red, gets labeled "missed," and sits there until you notice it, feel bad about it, and go find a new time for it yourself. Nobody does that second part for you. We spent the last couple of weeks building the part where Blink does.
What actually happens in the seven days after
A background worker checks for task schedules marked "missed" that haven't been offered a new time yet. For each one, it looks seven days ahead and reuses the same slot-finding logic that powers normal scheduling: subtract everything already on your calendar from your working hours, keep only the windows long enough for the task, sort by soonest available.
Then it does one more pass that's specific to reschedules: it re-ranks those slots, without throwing any away, toward whatever hour you're statistically most likely to actually act on a notification instead of ignoring or snoozing it. That number comes from a separate scorer that's already watching how you respond to reminders. It caps the list at three slots, saves them, and sends a push: "We found new times for [task]. Want to reschedule?"
This is the part I like most. It doesn't hand you the next technically-free slot at 6am. If you're someone who actually opens Blink around lunch and ignores everything before noon, the three times you see cluster closer to lunch, not closer to sunrise.
Why we didn't build a second scheduling engine
The honest reason the reschedule search reuses the exact same function as ordinary "when am I free" scheduling is that we didn't want to maintain two of them. A slot that shows up as free everywhere else in Blink is free the same way here, and any fix to how we detect conflicts fixes both paths at once.
The cost is that the engine doesn't know why you missed something. A doctor's appointment you skipped because you were sick gets treated exactly like a load of laundry you skipped because you didn't feel like it: same worker pass, same three slots, same push notification. It's a scheduling heuristic, not a read on your week. We think that's the right trade for now, but it's a real limitation, not a hidden one.
The bug that only showed up with real calendars
Shortly after this shipped, TestFlight testers started seeing the Tasks tab crash for some accounts. The cause: a task that had been missed twice picked up two separate pending suggestions, one per calendar event, and the list screen tried to key a dictionary by task ID assuming there'd only ever be one. There wasn't. It's fixed now, but it's the kind of bug that only turns up once real people run real, messy calendars through it, which is most of them.
Where you actually see it
Missed tasks already live in a section of the Tasks tab called "Avoided or stale." Now, if the worker has found candidate times, that same card shows each one with its own "Reschedule" button, plus a single "Dismiss" if none of them work. One tap, from the exact place the task went stale, no separate flow to hunt down.
There's also a small reward difference we thought was worth being deliberate about. An ordinary reschedule earns 3 points. Coming back to something that was actually missed earns 5. Crossing back over the harder threshold counts for more, on purpose, not because 5 sounded like a bigger, more exciting number.
The task doesn't disappear when you miss it, and it doesn't just sit there red, either. It gets smaller: three real times, already checked against your calendar, one tap away, in the same place your Tuesday already lives.
← Back to all posts