Role
Design Lead
Led research, concept, and design for Streak Society in its graduated phase. Created all artwork, mockups, designs, and concept mechanic sketches, from hackathon idea to final shipped product. Pitched to executive leadership until final approval, and led cross-functional iteration discussions with engineers and product managers until launch.
What we are solving
Learners were reaching huge milestones, but nothing special was happening
We wanted learners who have been using Duolingo daily for a long time to feel seen and special by automatically inducting them into an exclusive virtual club.
Summary
We see you, hardcore learners!
A "streak" is an achievement in Duolingo that happens when a user logs in and earns points (XP) for consecutive days. Using the app 5 days in a row earns the user a 5-day streak, 100 days earns a 100-day streak, and so on. The bigger the streak, the more it matters to users, as it shows consistency and dedication, and triggers loss aversion.
People love to celebrate their high streaks in the most creative ways, from sharing screenshots to fancy custom cakes. Even Duolingo staff will find ways to share accomplishments with each other internally.
Streaks also improve learning and significantly impact the company's monetization efforts. The way Duolingo acknowledged a high streak was, however, lackluster. The same standard screen was displayed every time, no matter the milestone.
During Duolingo's 3-day hackathon, we invited the company to imagine a feature that celebrated our high achievers' efforts with intention. Something that would motivate long-time learners to maintain their status, and others to strive to join them. Something like a secret club...
Inspiration and iteration
Hackathon, our chance to celebrate these long streaks
Those who reach 1000 consecutive days are hugely valuable for a company focused on DAUs. The more dedicated user is more likely to log in the next day compared to the average person, but is also at higher risk of burning out. We were confident we could address this and started by brainstorming:
- How can we celebrate high streak folks, and make having a high streak a desirable goal for everyone?
- Would this have a positive impact on retention and DAUs, while not hurting other important metrics?
- How can we make this enticing, while still scalable and low-cost?
- What is the potential for expansion and interesting iterations?
We sought helpful data, such as how many people reached high milestones (like 500, 1000, 2000 consecutive days of app use), and started calculating the initiative and incentive cost to better flesh out the idea.
Visualized mood boards to spark the team's creativity
After initial discussions with the team, I summarized our direction in a simple mood board showing things that feel exclusive. An exclusive club behind a velvet rope that you can/want to brag about, and that money can't buy, but rather can only be earned with effort. We drew inspiration from airport lounges (something that money can buy but has that special club vibe we wanted) and Saturday Night Live's "Five-Timers Club," among others.
Like any proper society, we wanted our club members to receive a coveted token of membership to display. Wikipedia offers limited edition pins... do we make a pin? Should we have tiers? We went with pin and plushie.
Reinterpreted core brand elements to serve more snobbery
We chose to use the Duo plushie (a coveted item that was not available for sale) as a "carrot," which would unlock for Streak Society members as a reward in a merch store. Inductees would also be able to automatically claim a free streak flame enamel pin that could go on the plushie.
To match the vibe, I chose a darker color palette and a special edition of our mascot, Duo. I adapted our master Duo into a more exclusive and... "snobby" version of the owl, achieved by giving him a tuxedo, a streak flame pin, and a less impressed expression.
Documented user flows to visualize user journey
The Streak Society proposal was presented to the entire company. It featured a prompt, an email, a working form to claim a pin, success, and a "not yet" page. On the side, we collaborated with the merch store hackathon team to insert the locked/unlocked Streak Society plush and pin on their presentation as well.
These slides show the flow, the rejection, the Easter egg
Iteration and launch
A Hackathon hit comes to life as a feature
Executives at Duolingo were excited about the idea they saw at Hackathon and asked us to work on a way to test this initiative at an even lower cost. With a multi-functional strike team of 4, we set out to find a way to launch an MVP. For this, we decided to skip the physical prizes, and went on to decide what Session End screen to present (a Session End screen is a summary screen shown at the end of a lesson or set of challenges that summarizes points and achievements).
We researched what high streak users did, their wants & needs, and what other applications and programs were doing when it came to rewarding loyalty.
Below I'm sharing a bit of the visual story of how we got to the final design. After these and more iterations, we reached our approved version of Streak Society.
Here's what users used to see when reaching 1000 days
Existing Session End screens from the app for design reference.
Some drafts exploring ideas of a more special celebration
Explorations of Session End screens, including modal version. At this point we were still not sure whether we would link to a microsite with stats or if we were getting animation resources. You can also see a retroactive screen for learners who surpassed the threshold before the product shipped. After learning animation would not be used in the MVP version, we opted for going back to our original branding and colors to help the Streak Society screen stand out more among other Session End screens, even when static.
This was what the user profile screen looked like before
Existing profile pages (self/friend), used as reference. We needed a home for Streak Society, and this was the most logical place for an entry point.
Where do we put the Entry Point? I explored options within the existing profile structure
Entry point explorations, answering "where should this feature 'live' after the initial prompt has been dismissed?"
Drafts for what happens when you tap on the profile flame 🔥
Concepts of a modal that appears on Entry Point tap, depending on if you are on your own profile as a Society member, or on someone else's as an aspiring/fellow member
Draft prototype of entry point pop-up (animated)
And what happens when you hit "share?" This is how we extend brand value through our fans
Initial drafts of the share screen, which gets posted to social media when you hit "share."
After deciding to nix personalized stats, we needed a simpler Share Card
Some of our style/copy options for the "share card" itself that gets posted to social media. The challenge we wanted to nail was to find a way to allow easy sharing/bragging while explaining to outsiders what it all means using minimal design and just a few words.
Oh, and a slight illustration tweak so Duo could look snobby on a more visible podium



TL;DR: This is the shipped user experience.
Final user flow showing the Share button or the Streak marker on the profile as entry points. We opted for starting with 365 days in order to get quicker test results.
Results
A/B Test and Takeaways: It worked!
After running our tests we found that the Streak Society motivates dramatically better streak behavior in users. Duolingo is big on testing and iterating, and we'd run an experiment until we got statistically significant results on key metrics.
We started with a low-cost, unanimated MVP rewarding 365 days instead of 1000, since it would give us results quicker with more users participating. We launched the A/B test on iOS first, and observed results as the experiment ran, as well as after a year.
After a satisfying increase in stats and potential for so much more, our strike team handed this project off to Duolingo's Engagement team with recommendations for next steps, such as unlocking special vanity emojis/icons on the Leaderboard, experimenting with more tiers, exploring exciting animations, and additional rewards. They have fully embraced the feature and more Streak Society experiments and tweaks are a staple on the team's OKRs every quarter.
Higher retention means more active users and more revenue
Lift in Plus subscriber DAU numbers.
DAUs with 15+ minutes use.
Lift in unique user active numbers in priority markets.
Lift in Plus purchases during New Year’s promotion for those in Streak Society.
Current user retention.
Daily unique taps on home call to action.
Daily unique taps on Streak Society profile sheet call to action.
Streak Freeze use for users in the 365 day experiment, meaning more people log in to the app every day vs letting the "Streak Freeze" consumable cover their streak.
Streak lost for users in this 365 day experiment. People in the Streak Society with over a year of consecutive days are more likely to keep their streak going if they are a member of the Streak Society.