← All Episodes
Based on Lenny's Podcast data
Lenny's Knowledge Sketch · Building Streaks

How Duolingo Built a $14B Feature

Jackson Shuttleworth
Group Product Manager, Retention · Duolingo
STREAKS DEEP DIVE
The Impact

One Feature, 9M+ Users, Billions in Value

Day 1365+ Days9M Users
"Streaks is our biggest feature with the exception of the lessons. If you figure it out, any app can introduce a streak, but you have to have a product people love. Then the streak layers engagement on top of that."
  • 9M+ users with 365+ day streaks (a city-sized population)
  • Over 600 experiments run in 4 years
  • Duolingo doubled in value to $14B; streaks drove the bulk of DAU growth
  • Biggest growth lever: not new users, but keeping users coming back
The Evolution

From XP Goals to "One Lesson"

  • Original (XP-based): Streak tied to experience points goal (50 XP goal, etc.)
  • Problem: Users hit their own goal, lose streak, never return
  • Insight: Define unit of use (one lesson), not abstract goal
  • Result: Still meaningful, massively easier to understand
The key shiftMoving from "hit 50 XP" to "do one lesson" removed friction without removing meaning. Users know exactly what a lesson is.
600+
experiments in 4 years
50%
win rate on tests
Why "one exercise" failed

They tested making it even easier: one exercise per lesson. DAUs didn't move. Users became too casual, least-engaged cohort. The lesson is the unit of use, not the question.

Flexibility Mechanics

Bend, Don't Break: Streak Freezes

  • Streak Freeze: Insurance policy—skip a day, keep your streak
  • The experiment: Free 2 freezes at start → massive DAU win
  • Sweet spot: 2 freezes better than 1, but 3 didn't improve on 2
  • The tradeoff: More flexibility early (new users), less later (long streaks)
  • The insight: 7-day threshold unlocks real habit lock-in
The flexibility paradox

More freezes = more users returning after days off, but also training users to take days off they didn't need. The curve inverts at ~7 days.

On long streaks (400+ days)

Jackson has a 400-day streak but lost many before. Long-streak users don't need freezes—they need protection. The goal shifts from "let them miss a day" to "help them not miss."

Design Playbook

Form Follows Function

  • Lead with the number, not the metaphor (ditched the flame graphic)
  • Make it look like a calendar → users understand "daily"
  • Every UI element communicates one thing: how does this work?
  • Celebrate milestones (Phoenix Duo), but don't sacrifice clarity
  • Global UXR: flame emoji doesn't resonate in India—test assumptions
The serenity prayerJackson's co-lead knitted: "Grant me the serenity to accept the flexibility I need, the courage to reach perfection when I can, and the wisdom to celebrate regardless."
Contrarian

Streaks Myths vs. Reality

Streaks only work for gamesINSTEAD →Streaks work on top of products users love. The core product has to be delightful first.
Easier metrics = better retentionINSTEAD →Making the unit too easy (one exercise) captures the wrong users and creates no meaning. Match the unit to the habit.
More flexibility always winsINSTEAD →3 freezes isn't better than 2. Too much flexibility trains users to take unnecessary breaks. The curve inverts.
Gamification beats product fundamentalsINSTEAD →Clarity beats cleverness. Odometer > flame. Calendar design > fancy metaphors. Form serves function.
𝕏︎ X / Twitterin LinkedIn📸 Instagram🔗 Copy link
0:00