Essays

The Tiny Feature That Saves Your Users and Your Metrics

Feb 5, 2026

Most writing on streak protection reads like a generic feature breakdown, Duolingo, Snapchat, a comparison table, psychology jargon borrowed from a UX textbook. I'm not a product person who's built this feature, I'm a user who's lived inside two very different versions of it, and that's actually the more honest place to write from.

two apps, two very different cutoffs

Duolingo makes you pay to undo a broken streak, and Cult.fit forgives up to fifteen days of nothing before it resets you to zero. Those are close to opposite philosophies wearing the same feature name. One treats a missed day as a transaction to be monetized. The other treats it as barely worth noticing until half a month has gone by.

fifteen days is too generous

My honest reaction is that Cult.fit's window is too forgiving, it stops meaning anything. A streak is supposed to represent something you actually kept up, and fifteen days of silence still counting as unbroken doesn't track with what a streak is supposed to signal, to the app or to me. Somewhere around seven days feels like the right instinct, generous enough to survive a bad week, short enough that it still means something.

the actual fix isn't a better number, it's letting me pick my own

Even seven is just my number, and that's the actual point. The right cutoff isn't a constant the app should be guessing at for everyone at once, it's personal, shaped by how each person's real week actually works. I'd rather an app let me set my own grace window than hand me whatever number its product team landed on. That's a small settings toggle, not a redesign, and it would fix the actual problem, a single fixed cutoff can't be right for everyone it's applied to.

conclusion

The tiny feature was never really the streak-freeze button, it's the cutoff hiding behind it. Get that number right, or better, let the user get it right for themselves, and the rest of the mechanic barely matters.