Behind the product: Duolingo streaks | Jackson Shuttleworth (Group PM, Retention Team)

Dec 15, 2024 1h 28m 31 insights Episode Page ↗
Jackson Shettleworth, Group Product Manager at Duolingo, shares the journey and lessons of the Duolingo Streaks feature. He discusses how this single feature became a primary growth driver, contributing billions in value, and the extensive experimentation behind its success.
Actionable Insights

1. Prioritize Core Product Value

Ensure your core app provides intrinsic value and is enjoyable to use daily before layering on engagement mechanics like streaks. A streak mechanic alone cannot solve fundamental product disinterest.

2. Structure Teams by Metrics

Organize product teams around specific, measurable metrics (e.g., DAUs, retention rate) rather than features. This laser-focused approach ensures efforts are directed towards the highest ROI initiatives.

3. Embrace Continuous A/B Testing

Adopt a strong bias for action by constantly testing hypotheses, as human psychology and user responses are best understood through real product changes. This includes investing in robust infrastructure for copy testing.

4. Ship Minimal Viable Experiments

Resist the urge to build a ‘big V1’ for new features; instead, strip down to the core hypothesis and ship the simplest version first to quickly validate and iterate.

5. Develop a Clear Feature Strategy

Guide all A/B tests with a clear long-term strategy and roadmap to prevent ending up in a ’local maxima’ or creating a disjointed, ‘kitchen sink’ feature. Each test should contribute to a larger vision.

6. Simplify Streak Mechanics

Simplify the criteria for extending a streak to increase user retention and engagement, focusing on a clear, easily understood ‘unit of use’ (e.g., one lesson per day). Simplicity leads to broader adoption.

7. Ensure Universal Comprehensibility

Design features to be easily comprehensible to a broad, diverse user base, including different ages, cultures, and tech literacy levels. Clarity in understanding directly correlates with higher retention.

8. Focus on Early User Retention

Concentrate significant effort on the zero to seven-day user experience, as data shows a substantial jump in retention once users achieve a seven-day streak due to loss aversion. This is a critical period for habit formation.

9. Frame Goals as User Outcomes

Set goals in terms of tangible user outcomes (e.g., ‘7x more likely to finish the course with a 30-day streak’) to significantly boost motivation and engagement. Users are driven by clear, beneficial results.

10. Empower User Choice in Goals

Provide users with options and the ability to select their own goals or even opt-out, as this intentional act of choosing drives higher engagement and commitment than pre-selected options.

11. Design for ‘Bend, Not Break’ Flexibility

Incorporate flexibility into retention mechanics, such as ‘streak freezes,’ allowing users to miss a day without breaking their streak. This encourages eventual return and prevents permanent churn.

12. Protect Streak’s Perceived Value

Appoint a ‘keeper of the sanctity’ for your streak feature (e.g., a specific PM or founder) to prevent over-optimization that could cheapen its value and lead to long-term user disengagement. Balance engagement with meaning.

13. Ensure Streak Visibility & Celebration

If you want users to deeply care about a streak feature, ensure it’s highly visible, consistently celebrated, and frequently referenced throughout the app experience. This communicates its importance.

14. Optimize Notification Timing

Leverage revealed user behavior for notification timing, such as sending practice reminders 23.5 hours after the previous session, which proves more effective than user-set preferences.

15. Implement Late-Night Streak Savers

Send a late-night ‘streak saver’ notification (e.g., at 10 PM) as a last-chance reminder if a user hasn’t completed their daily activity. Users who value their streak will perceive this as helpful, not spammy.

16. Use Multi-Sensory Celebrations

Employ animations, haptics (phone vibrations), and sound effects to celebrate user milestones. These multi-sensory cues enhance delight, encourage users to pause, and deepen their connection to the feature.

17. Introduce ‘Perfect Streak’ Counterweight

Create a ‘perfect streak’ feature that visually celebrates users who maintain their streak without using flexibility tools. This provides a positive counterweight to flexibility, encouraging consistent, uninterrupted engagement.

18. Offer Earned Streak Repair

Implement ’earn back’ mechanics (e.g., complete a few lessons) to restore a lost streak, making the recovery feel earned. This maintains the streak’s value and user commitment more effectively than simply paying for it.

19. Stagger Feature Introduction

Introduce complex or additional streak features only after users have established a basic understanding and commitment to the core streak. Introducing too many concepts early can overwhelm and disengage users.

20. Conduct Periodic Feature Resets

Regularly evaluate and ‘reset’ highly optimized features or UI elements to a simpler, plainer state. This allows for new iterative layering and helps avoid getting stuck in local maxima, ensuring long-term evolution.

21. Foster Cross-Functional Learning

Encourage knowledge sharing across different teams (e.g., monetization, learning) to leverage insights from successful experiments in one area for other product features. This maximizes learning and impact.

22. Define Streak’s Primary Role

Clearly define whether a streak feature’s primary role is monetization or retention from day one. This prevents conflicting design choices and ensures alignment with overall product goals.

23. Tailor Streak to Usage Patterns

Design streak mechanics to align with your users’ natural or desired usage frequency (e.g., daily, weekly). This customization maximizes relevance and engagement for different product types.

24. Visualize Long-Term Progress

For products where progress is hard to measure daily (e.g., language learning), use a streak mechanic to provide tangible, day-to-day indicators of progress and commitment.

25. Prioritize Form Follows Function

Ensure product design clearly communicates what the feature tracks, with form following function. Overly metaphorical designs can confuse users from diverse backgrounds.

26. Balance Clarity with Delight

Combine clarity with delight and celebration, but reserve more complex or metaphorical delightful elements for users deeper into their journey. Prioritize straightforward clarity for new users.

27. Use Visual Cues for Daily Mechanics

Employ familiar visual cues, like a calendar-like design with days and checkmarks, to clearly communicate daily mechanics. This reinforces user understanding of the feature’s cadence.

28. Provide Early Streak Flexibility

Offer more flexibility (e.g., two streak freezes) to users in the early stages of their streak. This helps them overcome initial hurdles and increases the likelihood of reaching a committed retention point.

29. Limit Flexibility for Long Streaks

For users with established, long streaks, limit excessive flexibility. Too many ‘days off’ can condition users to take unnecessary breaks, potentially leading to disengagement.

30. Segment Users for Streak Design

Clearly define the target user and desired commitment level for your streak mechanic. This prevents designing for a ’least common denominator’ and ensures the feature resonates with intended users.

31. Decline Neutral Experiments

Shut down neutral experiments, especially if they introduce additional complexity or cognitive load. Only proceed if they are a strategic platform for future, high-conviction features.