LLenny's Podcast
← All frameworks
StrategyJackson Shuttleworth (Group PM, Retention Team)

Bend-Not-Break Flexibility with a Sanctity Keeper

Add flexibility so users don't break a streak — but appoint someone to guard it from being cheapened.

Difficulty
Advanced
Time to result
~ongoing to results
Steps
4
Confidence
90%

A streak's power comes from users caring about it, and every flexibility mechanic (freezes, earn-back, forgiveness) trades a little of that meaning for a lot of returned users. Duolingo's philosophy is 'bend not break': make it hard to lose a streak, especially early, while never cheapening it to the point users stop caring. Because there's no clear line, they appoint a named person plus the founder as keepers of the streak's sanctity — and pair flexibility with a way to reward perfection.

Origin

Articulated by Jackson Shuttleworth; his co-lead Antonia is the designated 'keeper of the sanctity of the streak', captured in a gifted 'Streak Serenity Prayer'.

Core principles

  • 01Bend-not-break: prefer a returned user with an intact streak over a broken one
  • 02Cheapening the streak buys engagement — until it crosses a one-way door
  • 03The cheapening line is invisible, so assign a human to hold it
  • 04Pair flexibility with a perfection counterweight so meaning isn't only diluted
  • 05Earned flexibility (do lessons to earn it back) preserves value better than paid/free giveaways

How to run it

  1. 1

    Add flexibility so a missed day doesn't break the streak

    Introduce mechanics (streak freezes, earn-back windows) that let users recover, front-loaded to the fragile early streak.

    Pro tip Two freezes beat one because people sometimes need more than a day; three were no better than two — more just trains days off.

    Watch out Extra flexibility can train users to take days they didn't need, hurting current-user retention even as it lifts reactivated users.

  2. 2

    Make recovery feel earned, not handed out

    Prefer mechanics where users do work to restore a streak over ones that simply give it back, so the streak keeps its meaning.

    Pro tip 'Earn back' (do a few lessons within a window to reclaim a lost streak) beat the old paid 'streak repair' because it felt deserved.

    Watch out Anything that makes the streak feel free or trivial risks users concluding it 'means nothing'.

  3. 3

    Appoint a keeper of the streak's sanctity

    Because the point where cheapening becomes a one-way door is unclear, designate a specific person (plus founder review) to veto changes that would hollow out the streak.

    Pro tip Some limits (like notification budgets) can be policies; the sanctity line often can't, so it has to be held by judgment.

    Watch out Cross the line and your most-committed users stop caring — an 'extinction level event' for retention.

  4. 4

    Add a perfection counterweight

    Reward users who don't use flexibility, so the streak's meaning is reinforced, not only diluted. Duolingo's 'perfect streak' turns a freeze-free streak gold with no other reward.

    Pro tip Introduce advanced streak concepts (like perfect streak) only after day 7 to avoid overloading new users.

    Watch out Competing streak numbers (streak vs perfect streak) add cognitive load — gate them behind a long-enough streak.

In the wild

One vs two vs three streak freezes

They moved from a single freeze to testing two or three. Two beat one — people sometimes need more than a day of slack. But three was no better than two.

Net DAU win, though it hurt current-user retention (trained days off) while lifting reactivated users; three freezes offered no additional gain.

Streak repair to earn-back

The old 'streak repair' let users pay gems to restore a lost streak. They replaced it with 'earn back' — do a few lessons within a window after losing your streak and get it back for free.

A 'retention winner' precisely because doing the lessons made it feel deserved, so the streak wasn't cheapened.

Common mistakes

Cheapening the streak for easy engagement wins

You can always buy short-term engagement by making the streak easier to keep, but past an invisible one-way-door threshold users stop caring about it entirely — catastrophic for retention.

Adding flexibility without a perfection counterweight

Flexibility only dilutes meaning; without a way to celebrate users who don't use it (perfect streak), you erode the very value that makes the streak work.

Is it for you?

Best for

Retention teams whose habit mechanic already has real emotional weight and now face pressure to loosen it.

Not ideal for

New streaks with no user attachment yet, where 'sanctity' isn't the constraint and comprehension/adoption is.

From the transcript

for the streak for us it's very much a Ben not break

46:30

three streak freezes was actually no better than two streak freezes

47:30

you can almost always get engagement wins up to a certain point by just cheapening the streak making it easier to extend letting users have…

53:00

what we thought about was it feels like you've earned it so much more when you've done like you deserve to have your streak back…

52:30

she is sort of the keeper for us of the sanctity of the streak

53:00

From the episode

Behind the product: Duolingo streaks

Jackson Shuttleworth (Group PM, Retention Team)