← Notes
2026-07-04

Why our streaks don’t punish you

For the first six months after launch, Wolkup's streak worked the classic way: miss one day and it resets to zero. I built it that way because that's what every habit app does — it felt like the standard, not a choice I'd actually made.

It wasn't a crowd — an early version like that never has one. But even watching a handful of people, the shape of it kept repeating: some made it a few weeks before one missed day turned into a quiet exit, others didn't even get that far — gone within days. No complaint, no feedback, just gone. It took me longer than I'd like to admit to connect that to the streak. A number that punishes you the moment you're human doesn't make you train harder to protect it — it just gives you a reason to disappear the moment you lose it, because there's nothing left worth coming back for.

I didn't fix it right away, either. For the six months after that, I stopped opening my own app and stopped working on it — the hard streak just sat there, unforgiving, for the few people still using it and for me. Coming back to it later, with some distance, made the problem obvious in a way it hadn't been while I was in the middle of building it.

Most habit apps still work this way: miss one day and the counter goes back to zero — all the weeks you put in, gone in a single missed morning. It's a real motivator, in the sense that fear works. But it also means the app's main relationship with you is "don't disappoint me," which turned out to be a strange, and costly, thing to build a fitness habit on.

So I changed it. Wolkup's streak is soft: missing a day doesn't reset it immediately. There's a grace window to come back and extend it, instead of watching a number you've built for weeks disappear because of one bad Tuesday.

That's the visible part. The part that does more of the work is less visible: streak brightness. The streak count tells you how long, but it doesn't tell you how hard. So brightness is a separate signal — it tracks how much effort you've actually been putting in lately (an exponential moving average, not just yesterday's workout), and it dims on its own if you slow down, even while the streak number is technically still alive. It's an early warning, not a punishment: you see your momentum fading days before the streak itself would be at risk, and you can course-correct instead of getting blindsided by a reset.

The goal isn't to make the streak forgiving to the point of meaningless — it's to make it honest about two different things at once: did you keep the habit alive, and how well. Punishing one missed day treats both as the same failure. They aren't.

What's next on this: a proper calendar view of your history, and a "freeze" mechanic for the days you genuinely can't train — sick, travel, whatever — without it reading as a broken streak. More on that when it ships.

Wolkup

Cookies

We use cookies to improve your experience. By clicking "Accept all", you agree to analytics. You can refuse and use only necessary cookies.