The myth-busts, hot takes, explainers, and tools worth keeping.
◆Hot Take· 1
◆Hot Take1:14:30
A streak won't save an app people don't want to use
Jackson believes almost any app can benefit from a streak via loss aversion, but only if the core loop already gives value users want daily. Focusing on the streak before the app is enjoyable just wastes time. He also relays a board member's insight: users care about Duolingo's streak because Duolingo itself visibly cares - celebrating it after every session and referencing it everywhere.
Almost any app can be made more retentive with a streak (loss aversion)
A streak on top of a weak core loop wastes time and can cause more problems
Users care about the streak because Duolingo visibly cares about it
Give the streak the visibility you want it to have; adapt cadence (e.g. Peloton's weekly streak) to your usage pattern
“if you start focusing on the streak but you haven't made that a enjoyable experiment experience you're just going to waste a lot of time”
“the reason why users care about our streak so much because dualingo cares about the streak so much”
#strategy#retention#product-advice#duolingo
✶Explainer· 3
✶Explainer19:00
Why Duolingo obsesses over the first seven days
Retention curves show the biggest jumps happen between day one and day seven, after which loss aversion kicks in and retention flattens out. That's why a disproportionate number of experiments target getting users from a zero to a seven-day streak. A 30-day user isn't an order of magnitude more retained than a 7-day user.
Loss aversion locks in around day seven of a streak
The jump from a one-day to two-day streak is huge; two-to-three slightly less but still big
After day seven the retention curve flattens
The team runs more experiments than average on the zero-to-7-day window
“once you get to seven days L of version kicks in and and and you retain”
“going from a one to a two day streak huge jump in retention two to three day streak slightly less but still huge”
#retention#psychology#onboarding#duolingo
✶Explainer46:00
The flexibility paradox of streak freezes
Flexibility has been the biggest mechanic-level DAU driver. Going from one streak freeze to two was a big win, but three was no better than two - because too much time off trains users not to come back. Giving new users two free streak freezes when they start was a huge win, since early streaks are easy to abandon; long streaks need less flexibility.
One to two streak freezes was a big DAU win; three was no better than two
Too much flexibility trains users to take days off and not return
Giving new users free streak freezes at the start was a huge win
Give more flexibility early, less once users are on long, valued streaks
“three streak freezes was actually no better than two streak freezes”
“give more flexibility when a user is starting their streak”
#retention#psychology#mechanics#duolingo
✶Explainer55:00
Why the reminder fires 23.5 hours after you practiced
Duolingo sends the practice reminder 23.5 hours after your last session, on the theory that if you were free then, you'll likely be free the same time today. They tried letting users set their own time and building more complex logic, but revealed behavior (when you actually practiced) always wins. A second 'streak saver' notification at 10pm feels helpful, not spammy, because users care about their streak.
The practice reminder fires exactly 23.5 hours after the last session
User-set reminder times lost to revealed behavior; life gets in the way of stated intent
More complex timing logic never beat the 23.5-hour rule
A 10pm 'streak saver' feels positive because users attach positive emotion to their streak
“we have tried a bunch of ways to have much more complex logic and what always wins is 23 and a half hours”
“we'll send it what we call a streak saver and this is at 10 o'clock at night if you have not extended your streak”
#notifications#behavioral-data#retention#duolingo
❝Story· 7
❝Story11:00
Moving from an XP-based streak to one lesson a day
The original streak required hitting an XP goal each day, which meant serious users could do multiple lessons and still lose their streak by setting too hard a goal. One of the most impactful early experiments switched it to simply doing one lesson a day. It drove a huge amount of DAU without users caring less, because a lesson is Duolingo's true unit of use.
Original streak was XP-goal based, so a hard self-set goal could break your streak even after multiple lessons
Switching to one lesson a day was a huge DAU driver
The streak should map to your app's real unit of use
Simpler is also easier for more users to understand
“was to Move It from a XP based streak to just do one lesson a day and you'd extend your streak”
“the unit of use for dualingo is like doing a lesson”
The experiment that dumbed the streak down too far
Following the one-lesson win, the team tried making the streak extend after just a single exercise. The hypothesis looked sound from the funnel, but DAU didn't move at all. They had made the unit of measure unclear and were only capturing the least engaged users imaginable, so they shut it down quickly.
Extending the streak on a single exercise moved DAU 'not one bit'
A single question is not a unit of use anyone actually thinks about
It only captured the least-engaged users, who weren't going to be retained anyway
Lesson: decide what level of user commitment your streak is solving for
“I just want to come you do one question on dualingo nobody thinks about that”
“the users that we are capturing with our streak you know you come you do one or two questions on duelingo then you leave we're…”
Building the streak goal feature, the team started by telling users they were 7x more likely to finish the course with a 30-day streak, then let them opt out to an easier goal. Counterintuitively, adding the 'no, I don't think I can hit it' opt-out button was almost as big a win as the easier goal itself. The intentional yes/no choice drove the engagement, even though it had no effect past that screen.
Telling users they're 7x more likely to finish the course with a 30-day streak was a big win
Adding an opt-out button (which a PM would fear) was itself a huge win
The intentional act of choosing a goal drove the engagement, not the goal outcome
Pre-selecting a harder goal for users lost significantly - selecting it themselves was the point
“it was almost just as big a win to add that opt out button”
“adding an opt out button when you would think like as a PM oh I'm like you know now users might not engage with my…”
'Continue' to 'Commit to my goal' - a massive copy win
Duolingo invests heavily in copy testing because changes are cheap to translate and ship. Changing the goal-screen CTA from the standard 'continue' to 'commit to my goal' was a massive win. Every change, including copy, goes through product review with Luis, whose default is often 'I don't think this will win, but test it.'
Changing the CTA from 'continue' to 'commit to my goal' was a massive win
Copy is cheap to test - come up with ideas, translate strings, ship
Companies with a large enough user base should copy test constantly
Every change is reviewed by founder Luis, who leans on testing over debate
“we used to say continue our like standard CTA is continue um and we changed that to commit to my goal and it was like…”
“just that little copy change that one time right there led to to huge wins and copy changes are so cheap”
#copywriting#experimentation#conversion#duolingo
❝Story34:00
Explaining the streak in eight words was a top-three win
Many users genuinely don't understand how a streak works. Jackson's first win at Duolingo was flavor copy at the bottom of the streak screen that explained in eight words what a streak was. It was one of the biggest wins Duolingo had had, on the order of 10,000 incremental DAU, because clarity made the feature more retentive.
Many users don't understand how streaks or streak freezes work
An eight-word explainer ('start a day to extend your streak but miss a day and it resets') was a massive win
The win was roughly 10,000 incremental DAU and a top-three CERR win at the time
Your audience is global and non-technical - make even simple features comprehensible
“I ran some tests that just like tried to in eight words explain what a streak was that was it and it was a massive…”
“start a day to extend your streak but miss a day and it resets”
#copywriting#clarity#retention#duolingo
❝Story38:30
A winning experiment they killed to protect the lesson
The team added live XP ticking up during a lesson - and it won. But Luis pushed back: the lesson is the most sacred, learning-focused screen in the app, and the addition risked distracting users with no clear long-term roadmap. They shut it down for simplicity, choosing to keep the lesson a learning sanctuary even at the cost of an easy engagement win.
Showing XP tick up during lessons won as an experiment
It was shut down because the lesson is the app's most important, learning-focused screen
The key question was 'where does this iteration go?' - and there was no good answer
Not every positive experiment should ship if it clutters a sacred surface
“cool this is our most important screen in the app it is our lesson it is where users learn”
“we had touched our most uh you know Sacred Space in the app to to do that”
The flame didn't resonate in India - so they led with the number
The streak flame is a metaphor for a retention mechanic, but in UXR in India the 'keep a flame lit' idea didn't resonate at all. The redesign shifted the screen's focus to the streak number ticking up via an odometer animation, rather than the flame. The lesson: form should follow function, and product design should be a clear distillation of what you're actually tracking.
The streak flame is a cultural metaphor that doesn't translate everywhere
UXR in India showed the 'keep a flame lit' idea didn't resonate
The redesign led with the streak number and an odometer animation
Global UXR surfaces insights you can't get from a single market
“we did some uxr in India many years ago and this was something that just like did not resonate at all”
“we're showing streak we really leading with the number not necessarily the the flame”
#design#uxr#global#duolingo
▲Takeaway· 4
▲Takeaway08:00
Why streaks are Duolingo's single biggest growth lever
Jackson frames the scale of the streak feature: over 9 million users have a year-plus streak, and by the numbers it is the most impactful feature for retention outside the core lessons themselves. Because Duolingo grows organically, keeping existing users from churning matters as much as acquiring new ones, and the streak is the best tool for that.
Over 9 million users have a year-plus streak (used the app almost every day for over a year)
The streak is the single most impactful feature after the core lessons
Notifications work largely because they reference the streak users already care about
Duolingo's growth model prioritizes not losing users, not just acquiring them
“we have right now over 9 million users with a year plus streak”
“if you look at the numbers I think pretty objectively has been our biggest growth lover for for driving use”
#retention#growth#engagement#duolingo
▲Takeaway17:00
600 experiments and a 'test it, don't debate it' culture
Duolingo has run over 600 experiments on the streak in four years, roughly one every other day, ranging from mechanic changes to single-string copy swaps. Roughly half of experiments lose, but the team still learns from them. In the early days of a streak, Jackson's advice is to test everything.
Over 600 streak experiments in four years, about one every other day
Experiments range from big mechanic changes to swapping one string
About half of experiments lose but still teach the team something
Early on, test broadly rather than debate ideas in a room
“we've run in the last four years over 600 experiments on the street so every other day effectively we're running an experiment”
“in the early days of the streak I'd say like test everything”
#experimentation#product-culture#duolingo
▲Takeaway52:00
Don't cheapen the streak - the 'earn back' win
Replacing paid 'streak repair' with a free 'earn back' (do a few lessons soon after losing your streak to restore it) was a big retention winner, because users feel they earned it rather than having the streak cheapened. Duolingo treats the sanctity of the streak as sacred - a designated colleague guards it, because pushing engagement wins by cheapening it too far could make 9 million users stop caring.
'Earn back' (redo lessons) beat paid 'streak repair' because it feels earned
You can win engagement by cheapening the streak, but must hold the line somewhere
One colleague (Antonia) and Luis act as keepers of the streak's sanctity
Crossing that line would be an 'extinction level event' for retention
“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…”
“that'd be an extinction level event for us”
#retention#monetization#psychology#duolingo
▲Takeaway1:05:00
Structure teams around a metric, not a feature
Duolingo's teams are organized around metrics rather than features. Jackson's retention team owns CERR (current user retention rate), and works on the streak only because it drives that metric better than anything else - there's 'soft ownership,' and other teams can and do touch the streak. A clear metric goal each quarter makes prioritization far easier than a fuzzy goal of making a feature 'better.'
Teams are metric-based, not feature-based; the retention team owns CERR
'Better' is fuzzy; a metric target makes prioritization clear
The streak has 'soft ownership' - other teams can work on it too
CERR is the DAU-driving metric Duolingo optimizes for retention
“having a really strong degree of focus you know as as a team on you know what is the metric that I'm caring about and…”
“we retention owns streak I guess but that's only because we've seen streak Drive Cur better than any feature”