The streak feature is Duolingo's most impactful growth lever, driving daily active users (DAUs) and retention. Over 9 million users have a streak of a year or more, making it a key driver of Duolingo's $14 billion valuation.
Initially, the streak was based on XP (experience points) goals, where users had to meet a daily XP target to extend their streak. This was later simplified to requiring just one lesson a day to maintain the streak.
Moving from an XP-based streak to a one-lesson streak was a massive win, significantly increasing DAUs without reducing the feature's meaningfulness.
Focus on simplicity, clarity, and user psychology. Test everything, especially early user experiences (0-7 days), and ensure the feature is easily comprehensible to users of all backgrounds.
Flexibility, such as streak freezes, allows users to take a day off without losing their streak. However, too much flexibility can train users to take more days off, so it's important to balance flexibility with the need for daily engagement.
Duolingo wrestles with monetization hooks like streak freezes that can be bought with gems. While these provide revenue, the team prioritizes retention and ensures that monetization doesn't cheapen the streak's value or reduce user engagement.
The Perfect Streak feature rewards users who don't use streak freezes for a few days by making their streak appear gold. It encourages users to maintain their streak without using flexibility options, reinforcing the value of daily engagement.
The team is highly process-oriented, using Jira for detailed roadmaps and dependencies. They focus on metrics like current user retention rate (Kerr) and DAUs, and prioritize iterative testing over big V1 launches.
Ensure your app provides daily value to users first. Then, test different streak mechanics to find what works for your audience. Focus on clarity, simplicity, and user psychology to make the streak meaningful and engaging.
Duolingo is a $14 billion company. It's hitting all-time highs too. It just keeps going up. I think it doubled in value in the past six months. Streaks is the most impactful feature. We have right now over 9 million users with a year plus streak. If you look at the numbers, I think it's been our biggest growth lever.
What Duolingo really focuses on is, you know, how do we help users build habits around language learning? Getting user come back the next day is the biggest problem to solve. Let's get into the mother load of learnings from the journey of Streaks. Talk about the key lessons, insights, and also wrong turns along the way. I'd say like,
test everything. We've run in the last four years over 600 experiments on the street. So every other day, we've actually set up really good infrastructure for copy testing. We used to say continue our like standard CTAs continue. And we changed that to commit to my goal. And it was like a massive win. There's so much human psychology that you all learn through all these experiments of just like how to motivate people, what motivates, what demotivates. Say that you played a mobile game or that you've done it for
3,000 days in a row. I don't know. Maybe that hits a little bit different than you've learned Spanish for 3,000 days in a row.
Today, my guest is Jackson Shuttleworth. Jackson is a Group Product Manager at Duolingo, leading the retention team. This is a different kind of episode that I'm experimenting with, where we spend the entire conversation focused on the journey and lessons of a single feature, in this case, Duolingo Streaks. Duolingo is a $14 billion business. Just over the past six months, they've doubled in value. They're hitting all-time highs in usage and market cap.
They're also one of the very few successful and also the single biggest consumer app business in the world. And as you'll hear from Jackson, the Streaks feature is the single most impactful feature that most contributed to this growth and success. In other words, you could argue this one feature created billions of dollars of value, which to me means it is worth studying in depth.
In our conversation, Jackson shares the history of the Streaks feature, all of the biggest wins and wrong turns they've taken along the way, what he and his team have learned about what works and doesn't work with a Streaks mechanic, and also how they set up their teams to operate in a way that allows them to run over 600 experiments on this product and continue to find big wins.
I hope to do more episodes like this on features and products that you'd love to hear more about. So leave a comment either on YouTube or on Substack and tell me which product or feature you'd love to see me cover. And if you enjoy this podcast, don't forget to subscribe and follow it in your favorite podcasting app or YouTube. It's the best way to avoid missing future episodes and it helps the podcast tremendously. With that, I bring you Jackson Shettleworth. Jackson, thank you so much for being here and welcome to the podcast.
Yeah, thank you. Long time listener, first time caller. I appreciate it. So this is going to be a really interesting conversation. I've never done an episode like this before where we basically spent like an hour, an hour and a half going into one feature of one product. But
This is a very special feature. It's a very special product. Have you ever spent like an hour, an hour and a half just talking about this one feature with anyone? Well, internally, so when we onboard new folks to the team, I actually just did this with somebody that joined the team recently where we spent, and I was like, hey, let's spend an hour just talking about this streak.
We got through an hour and I got through about 30% of what I wanted to share. There's just so much. We'll talk about this, but there's so much that we've learned over the years, but never anything externally like this. I think we've shared bits and pieces of learnings, but this will be like the mother load of learnings, hopefully. Here we go. Of how Duolingo's built the streak. We should title this the mother load of learnings of Duolingo streaks.
This episode is brought to you by Pendo, the only all-in-one product experience platform for any type of application. Tired of bouncing around multiple tools to uncover what's really happening inside your product? With all the tools you need in one simple-to-use platform, Pendo makes it easy to answer critical questions about how users are engaging with your product and then turn those insights into action.
all so you can get your users to do what you actually want them to do. First, Pendo is built around product analytics, seeing what your users are actually doing in your apps so that you can optimize their experience. Next, Pendo lets you deploy in-app guides that lead users through the actions that matter most. Then, Pendo integrates user feedback so that you can capture and analyze what people actually want.
And the new thing in Pendo, session replays, a very cool way to visualize user sessions. I'm not surprised at all that over 10,000 companies use it today. Visit pendo.io slash Lenny to create your free Pendo account today and start building better experiences across every corner of your product.
P.S. You want to take your product-led know-how a step further? Check out Pendo's lineup of free certification courses led by top product experts and designed to help you grow and advance in your career. Learn more and experience the power of the Pendo platform today at pendo.io slash Lenny.
This episode is brought to you by Vanta. When it comes to ensuring your company has top-notch security practices, things get complicated fast. Now you can assess risk, secure the trust of your customers, and automate compliance for SOC 2, ISO 27001, HIPAA, and more with a single platform, Vanta. Vanta's market-leading trust management platform helps you continuously monitor compliance alongside reporting and tracking risk.
Plus, you can save hours by completing security questionnaires with Vanta AI. Join thousands of global companies that use Vanta to automate evidence collection, unify risk management, and streamline security reviews. Get $1,000 off Vanta when you go to vanta.com slash Lenny. That's V-A-N-T-A dot com slash Lenny.
Okay, so for people that don't know anything about what Duolingo Streaks are, can you just first give a brief explanation of what is Duolingo Streaks? What is this feature all about? Well, presumably people know Duolingo is a language learning app.
the Duolingo streak tracks currently anyway, how many days in a row you've done a lesson. So you come to Duolingo, you do a lesson, your first lesson, you'll start a streak and then every consecutive day that you come use the app, you'll extend your streak. And I should actually put an asterisk around how many days in a row, because we also have built flexibility into the feature. So we have these things called streak freezes. It's like insurance for your streak. So
It's a pretty simple feature in theory, but over time we've layered on challenges and goal setting and rewards and social features. A lot of our notifications are tied to the streak. So
Pretty simple feature to understand, but it's been a really rich feature for us to build on top of. Some people might be hearing this and be like, Duolingo Streaks? What's the big deal? There's other people that are like, holy shit, I want to learn everything I can possibly learn about Duolingo Streaks. So many companies are trying to copy what you've learned from this. Give people a sense of the impact that this one feature has had on Duolingo's success and growth.
And this is not just the subjective retention PM talking. I think this is our biggest feature, with the exception of the lessons. And I think it's actually worth starting that. Streaks are a great engagement hack. I'm kind of of the opinion that any team, any app out there can introduce a streak. And if you figure it out, it probably works.
you know, to retain users. But at the core, like you have to have an app that people want to use and people really like using Duolingo. It's fun. It's delightful. You learn something. And so it allows us to layer an engagement mechanic on top of that. Like the streak is really powerful. So it ships everything
a disgusting amount of DAUs. Again, it is just... It is our... One of our golden geese. And again, what's cool is that you look at notifications. Notifications for Duolingo is massive. I mean, us sending better...
whether it's copy or timing. So many of our notifications work because they reference the streak, because users care about the streak. And so not only is it itself, us iterating on the streak, a huge driver of DAUs, but it's also something that enables other really high valuable features. I was looking up some stats before I came on, and it's
it's pretty crazy so we have right now over nine million users with a year plus streak so nine million of our users have had uh used Duolingo every or almost every day for uh you know well over a year um which which is pretty which is it's i don't know it's i like to imagine things in terms of like you know okay well like if you put all these people in a city or you know in a place where would it be and like that's like a very large city nine million people so
For a year, have a year-long streak.
That's incredible. I was just looking at the stock of Duolingo. So Duolingo is a $14 billion company at the time of recording this. It's hitting all-time highs too. It's like just keeps going up. I think it doubled in value in the past six months, something like that. And what I'm hearing from you is Streaks is this other than just like the core learning feature, which is just like the product of Duolingo. This is the most impactful feature in terms of growth and in that retention specifically.
I mean, if you look at the numbers, I think pretty objectively has been our biggest growth lever for driving DAUs. And I'll also say a lot of it's just related to how we think about growth at Duolingo. And a lot of what we try to do is organic growth. You know, we...
Think about growth, you know, just as much as bringing new users onto the platform is not losing them. If you're just bringing people onto the platform and then they churn, that's not going to be sustainable. And so as much as we can do to keep our users coming back and actually retaining as users, it's going to make it, it's going to give us a much easier base to continue growing DAUs off of. Perfect. Okay.
Talk about how this feature originally came to be. What was the original version of it? What was the original insight that led to V1? Yeah, so the oldest streaks are as old as Duolingo itself. When we launched Duolingo, we launched with a streak. And I say we, I was just graduating undergrad when Duolingo launched. So this is well before my time. But we launched with a streak feature. The...
You know, the initially how the how the feature worked was you'd come to Duolingo and you'd set a goal for yourself. And it was an XP based goal. So Duolingo, a little bit of like, you know, nomenclature. We have an experience points based system that drives a lot of our features in the app. And the way you'd set it is you'd say, you know, based on what your language learning goal was.
you know, maybe you have a 10 experience point goal versus a 50 experience point goal. And so extending your streak would be, hey, can you hit 50 experience points if that's what you set your goal to be? And this worked well. I think this also speaks to like how Duolingo initially grew. You know, we were, Luis launched it with a TED talk. You know, we probably had a more tech forward user base, you know, initially. And so this whole idea of like an experience points based streak system made sense.
But what that also meant is that you could have a user come and use the app, do multiple lessons a day, and maybe they just set too hard of a goal for themselves and then lose their streak, which I don't, you know, you don't need to be an expert in streaks to understand that's probably not good. You know, the nice thing with how we initially set it up, though, is it really did connect with what your goal was. So if you were serious, let's track how good you are at being a serious language learner. But I'd say one of the most impactful experiments we ran was
was about, this was actually as I was joining, or just after I joined, we had run this experiment, was to move it from a XP-based streak to just do one lesson a day and you'd extend your streak. And the risk that you can sort of imagine is, well, then users kind of care less about it because it's not connected with their goal.
And we saw none of that. I mean, this was huge driver of DAUs, just making it easier to extend your streak. But I think really importantly, it's still meaningful, right? Like the unit of use and, you know, as you're thinking about building a streak, like I think it's really important to think about like what the unit of use of your app is.
The unit of use for Duolingo is like doing a lesson. And so if what we care about is users coming back every day and doing a lesson because it shows that they're actually engaging with the app, then it doesn't hurt us to make our streak focus on just do one unit versus multiple. And so that was like probably the big sea change experiment that we ran at the time was moving from an XP-based streak to a one-lesson streak. It's also simple. And I think that's like one of the things to think about with streaks. It's always easy as a PM to like,
Have a million goals or objectives for what you want your feature to be and potentially build a more complex feature.
you know, one lesson streak, it's just easy for more users to understand. Yeah, that's exactly what I was going to say. And just for folks that aren't super familiar with XP, it's basically experience points and you get them from like doing things. It's like, yeah, you do, you do stuff on Duolingo and then based on what you did and how well you did it, we give you experience points. This actually drives a number of our features in our app. So leaderboards is the big one. You know, we have a leaderboard system where you try over the course of the week, you battle with 29 other people and you,
you want to win. That's all driven by XP. So we do have other features in the app that really benefit from this XP system. The streak is just no longer one of them. Awesome. Okay. So I want to talk about the journey from that point to what it is today, but a quick tangent. I saw Luis tweet just this week. Someone asked him, how do you decide whether to optimize for learning or engagement? And he's like, no question. Everything we do is focused on engagement because you won't learn anything if you're not coming back to the app.
As an engagement PM, that was like the coolest thing he could have ever said. It's well, again, very much as a, you know, object subjectively, I guess, as a engagement PM. I mean, that's how I've, you know, I, I'm sure my learning, the learning folks at Duolingo will cringe when they hear it. Like I see myself as a learning PM as much as an engagement PM, because the easiest way not to learn on Duolingo is not to come back the next day. And so if we don't make the app retentive, you will have no opportunity to engage with our learning features. Now,
I do think that there is a long tail of learning where if you start to dumb down, and honestly, this is something we wrestle with the streak as well. You start to dumb down the experience and your users aren't actually learning. They're not going to care. I mean, streaks work best when they're sitting on top of an app, you know, that users care about. But yeah, I mean, if you can't come, you know, if you don't come learn on Duolingo, you know, if you don't come back to Duolingo, then you're not learning. So, I mean, we track a lot of this with,
The work that we do, we make sure that as we're making changes to the streak, we're not hurting the learning experience and we don't have a ton of interaction with it. So we're constantly thinking about this, but thank you, Luis, for saying that. It makes sense to me. Okay, so let's get into the mother load of learnings from the journey of streaks. So the first version went from XP to one lesson. Talk about the
key lessons, insights, and also wrong turns along the way to what we see today. Duolingo has very much, you know, has a strong, like, test it philosophy. You know, we're willing to test a lot of different, honestly, we'd much rather test it than like debate it for, you know, days and days. So we actually followed up this experiment with, and this is a little bit later with, hey, what if we make it even easier to extend your streak? And so we actually tested
Hey, if you do one exercise...
just one exercise in a lesson will extend your streak. And a lot of the insight was good. You look at the funnel, hey, there's a lot of users who are starting but not finishing lessons, they're not extending your streak, the loss aversion doesn't kick in, they don't come back. So this kind of followed that train of thought. What we realized when we ran this experiment is DAUs moved not one bit. And what we were doing by, and if we go back to unit of measure,
we had dumbed down the unit of... Nobody thinks about, I just want to come, you do one question on Duolingo. Nobody thinks about that. So we had more, like a less clear unit of measure that we were basing our streak around. And the users that we were capturing with our streak
You know, you come, you do one or two questions on Duolingo, then you leave. We're like the least engaged users imaginable. And so, you know, I think that's something also to think about as you're building your streak is like, what is the user that you're solving for? So not only what is the kind of habit that you're building for, but like, what is the level of commitment? And that was an example where we over indexed on a type of user who we honestly just weren't going to keep.
That was a very easy shutdown decision. That's an awesome story. Just to comment on that real quick, just like you went, like, let's just go to the extreme and make it just like streaks. Yeah, get everyone going streaks forever. And then I love that it turned out. And that's awesome.
It's not bringing users that you want. And it's dumbing down experience. It makes me think of Farmville where you have to go and like harvest your crops every whatever hour and just like, like that lasts for a bit. And then eventually people are like, what the hell am I doing with my life? Exactly. No, we, I mean, and we test every, so we, I was looking at the numbers as well. We, we've run in the last four years over 600 experiments on the street. So every other day, effectively. Wow.
We're running an experiment and they range from big like this, like changing how the mechanic works to like, let's swap a string with another string and see if that copy is better, you know, for users. So we're constantly testing on everything. I do think that like,
I'd be more careful running that experiment now. At some point, your streak gets big enough that, again, I got 9 million users on the streak. I got to be really careful. Those are our best retaining users. You got to be careful. But in the early days of the streak, I'd say test everything. Don't get super caught up in it has to be like this. Just test a bunch of stuff and see what speaks most to users.
Because I think, again, you will constantly be surprised by the insights that you get from whether you... We shut down about half of our experiments. So half of our experiments lose. We still learn a ton by virtue of running them. So super, super valuable. That's actually a good success rate. A lot of companies have only 20% of experiments be positive. What's your policy on if it's neutral? Do you ship it or do you kill it?
It really depends. If we're adding something and it's neutral, we tend to shut it down because it's just more cognitive load. It's something that we're going to have to start building around, a new UI element that we have to figure out how it fits into our system. I'd say when we do ship a neutral experiment is...
Something that we have real conviction around, okay, yeah, maybe this was neutral, but it's going to give us a new platform to then build on top of. So that experience might be neutral, but now we can build these DAU positive experiments. And my general take there is though, in that case, build that in as part of your V1 so that you make sure that at least your hypothesis around this roadmap has play, should probably be the case. But in general...
shutting down a neutral experiment so you don't introduce more complexity to the app is the way we tend to go. Makes sense. All right, what else? What else have you learned along the journey? Well, I mean, maybe I can talk about a few different ways that we structure, you know, a few different themes that I think we lean on. So the first is focusing on the zero to seven day user experience. And I would say this is, if you look at the kind of, you know, whatever our breakdown of experiments are, we run...
definitely more than average number of experiments on getting users to go from a zero to seven day streak. And a lot of this is because we've looked at the data for our retention curves. And what we found is that once you get to seven days, loss aversion kicks in and you retain. So going from a one to a two day streak, huge jump in retention, two to three day streak,
Slightly less, but still huge. And it's up until day seven. Once you hit day seven, it flattens out. And it's not to say that if you have a 30-day streak, you're way more attentive than day seven, but not in the order of magnitude that it is from day one through seven. So we do a ton of work to get users to that point where loss aversion kicks in and then they don't want to leave the app.
One of the fun ones that we did, and it's honestly as much about process as it is about the feature itself, was we have a feature called Streak Goal. And it is, again, so much of the stuff seems so obvious in retrospect, but it was really novel at the time. We had this idea of like, hey, maybe we'll just goal users to hitting a certain streak length.
As you can imagine, this is pretty powerful user psychology. And we started with the simplest version of this. And this is how Duolingo does a lot of our testing. Rather than design the big complex feature for v1, just do the simplest encapsulation of what that feature can be, see if it has legs, and then just add to it iteratively over time. This is partially how we get to 600 plus experiments on streaks. They're not all big ones.
But we started and it was funny. We actually took a learning from our modernization team. So one of the strings that they had, the pieces of copy that they had worked really, really well was, I think it was your like 5.6 times more likely to finish the course. If you subscribe to plus sort of, you know, now it's super our subscription. And it was, it was a really good hook that if you, if you really cared, you'd sign up. Um,
And so we ran a similar, we, we had a similar thought where it's like, Oh, let's just tell you how much more likely you are to finish the course if you get a 30 day streak. And so we started with that. And I think it was like, you're seven times more likely to finish the course if you have a 30 day streak. And just that message, when you started your streak, I was telling you that was awesome. Huge win. Um,
you know, indicating an outcome and like Duolingo doesn't have, we don't, we have a gem economy, but we don't actually have like, you know, it's just, it's all you learning, but being able to actually talk about it in terms of the outcomes that a user would think about,
in this case, trying to finish the course, was a huge win. So this is where we started and we're like, ah, goal setting. All right, we should go much harder on this. Found something. Yeah, we found something. And now let's just beat the heck out of it. So we followed that up with another experiment where we tested different lengths. So we'll test 14 days and 50 days. And we found that
They were all good, but they appealed to different users. And so we started to realize, all right, well, we probably need to be more thoughtful about who we give these different options to. And so then we followed that experiment up with, all right, let's start with 30 days, and then we're going to let you opt out. We'll say, no, I don't think I can hit it. And our thinking was, and then if you say no, we'll hit you with an easier goal. Because we just wanted to get you to commit to a goal.
And this was a fascinating one because it was a good win to give users that easier goal to try to capture them before they said no. But it was almost just as big a win to add that opt-out button. So we tested separately and I'm a huge fan of testing like way too many arms for an experiment just to like be able to isolate your hypotheses.
But we captured just what happens if we add an opt-out button. And adding an opt-out button, when you would think as a PM, oh, I'm like, now users might not engage with my feature. That's a bad thing. But it was a huge win to let them do that. And the learning here was that this intentionality of saying, no, I'm not going to do that.
I want it previously. It was just a continue button, but now it's like, no, I want to hit 30 days and, and, and having that be an intentional decision for them. Yes or no. Even though, again, this had no impact, none or no impact past this screen. Everything that I'm talking about now was, uh, you know, just that screen that day and then was all thrown out.
So that optionality was a huge insight. And so because of that, we built a goal setting feature where you could choose between different goals, giving users that optionality was likewise a huge win. I'll say one final learning on this.
Again, you talk about like friction and good and bad friction. We thought once we built a goal picker screen where you could pick between different streak lengths, we were like, oh, well, let's like recommend that users do a harder goal. Thinking that, okay, well, a harder goal is going to be better retention and we'll pre-select the harder goal for them.
And this, based on all the learnings that I just shared with you, you probably imagine lost pretty significantly. We realized that like, yes, we can speed users through the screen more by virtue of picking a goal for them. But like that act of selecting,
I think it's 30 days. I think it's 14 days was where we were getting so much of the engagement from this feature. There's so much human psychology that you all learn through all these experiments of just like how to motivate people, what motivates, what demotivates. It was like you guys should write a book on human psychology and motivation.
I feel very much like a amateur armchair psychologist with everything that at least as far as people who want to learn languages on their phone go. I really understand those folks. So one kind of theme I'm hearing here so far is you guys are basically just like mining for gold, just like looking for like a vein in some mine. And once you hit it, you're like, oh, this worked. You just go.
on just testing all kinds of things to see how far you can take that one little thread. Yeah.
Yeah. And I think, you know, I, I, I shared that, that the, how this idea came partially from, you know, a monetization win that they had. I think there's a lot of, you know, because Duolingo runs, you know, I don't know what percentile we're in, but it's gotta be a very high percentile of, you know, per capita experiments run for a company, you know, based on company size, we're just constantly learning so many things. And there's a really great cross-sharing of,
So modernization say, hey, this thing worked for us. Is that something you can use? So I'd say it's rare that we go into something where it's just like, well, let's just let's just try something. Typically, we have some insight because of all of these experiments that we've run that if we do this.
I don't know, it's one here or it's worked here. It's driven this user engagement. If we, you know, sort of massage that and make it, you know, try it in this, um, you know, scenario or like a different screen, you know, we, we come in at least with a strong hypothesis of this will work. A lot of times we do look and we're like, you know, a lot of the apps that we look at actually are games themselves. So it's like, all right, you're playing Royal match or, you know, there's the new Pokemon, uh, trading card game that I'm spending way too much time on, you
You know, you look at these games and see what they're doing, and it's really good fodder for what we can do. But a lot of times you're at least going with a strong hypothesis based on what you've seen work elsewhere. Got it. So just to double down on that point, it's not like just random experiments. It's here's a hypothesis. We're fairly confident.
Or has a chance to be true. Let's try it. It's not just, let's just try everything. And I think that like how strongly you feel about the hypothesis directly ties to how hard that experiment is. Like with copy, for instance, we've actually set up really good infrastructure for copy testing. And I'm of the opinion that companies should run, as long as you have the user base to do it, like copy test constantly. Like the amount of copy tests that we've had that is just like,
that have won and you, I don't know, you just, you just try things and you figure out what wins is, is definitely Legion. And if ship like massive wins from little copy changes. Is there an example of that or just like the impact going back to that goal screen? Um, we used to say continue our like standard CTAs continue. Um, and we changed that to commit to my goal.
And it was like a massive win. Even just, you know, and again, it was like, okay, users tapping on that. What are we asking them to do? Commit to the goal. What is that going to lead them to do? Commit, not, you know, churn. Just that little copy change, that one time right there led to huge wins. And copy changes are so cheap. Like, it's just, you translate us, you know, for us, you know, we have a lot of, you know, users all over the world in a lot of UI languages. So, but like, just come up with a bunch of ideas, translate some strings. This is one where...
The feedback that you'll typically get from Luis. So all of our changes at Duolingo go through product review that are reviewed by Luis. So Luis reviews every single change that we propose or every experiment that we run. Typically with copy, he's just like,
I don't know. Test it. Like there's, there's nothing better than to be told by Luis. I don't think this is going to win, but sure. If you want to. And a lot of times, you know, to his credit, he's right. And a lot of times, you know, our, our intuition was right, but it's just so cheap to do it. I think when the lift is smaller, it's great to have a hypothesis, but yeah,
You know, you don't need to beat it up too much. So on this thread, I didn't realize Luis reviews everything you're planning to change. And this may be the answer to the question I was going to ask, which is one of the criticisms of running a product and company this way of just experimenting constantly with all these micro improvements and changes as it can lead to something like a monstrosity of a product and experience that isn't consistent and cohesive and just like.
Like that often happens. Is the solution to that having the founder basically review all the changes? Is there anything else y'all do to avoid it moving in a becoming farm bill or whatever? It's a good example. Yeah. I, our, our product review structure where we've got our head of product design, one of the lead you know, the, the product management leaders and then Luis NPR. And because they see everything it, you know, and they have a really high product bar. And so that helps them.
I think over time, we just, as PMs, have to look at, okay, where is our feature headed? And so we do this with the streak, at least on a quarterly basis, to look at, okay, well, what have we learned? How has our streak developed? And how do we imagine this going in the future? I don't think... It's easy to do and end in some sort of awful local maxima if you're not constantly looking at your roadmap and you don't have a clear strategy. For me, it's like,
If you have a clear strategy for where your feature is going, hopefully all of those A-B tests are not just done to get some cheap gain. They're done with a long-term goal in mind. I do think though, and we do this every now and then with the streak, eventually you just hit a local maxima and you say...
Like you talked about lunch and neutral experiments. This is a great example where it's like, all right, cool. Now we need to throw a bunch of this stuff out based on all the learnings. Can we reset this real estate? Can we reset this UI, reset this feature in such a way that is just as good as what we have now, but is way more plain or simple that we can, again, start to layer on. Those are hard. Those are really hard experiments to get win on, you know, to win, obviously, because they are so optimized, but they're really important to do.
Otherwise, yeah, you just end up with a kitchen sink of a feature. One other tidbit I just want to mention, something that an advantage you all have that other companies don't have is people want to learn. They want to learn the language. And so getting pushed to come back to an app for something that they want to do is not an advantage a lot of products have.
So anything you want to add there of just like, this is why Duolingo might be a little different from what you're working on. I mean, that, that is definitely a benefit. If I had an app that, this is, this is actually why I think a lot of mobile games do streaks differently because, you know, to say that you played a mobile game and as somebody who plays a lot of mobile games, you know, that you've done it for 3000 days in a row, like, I don't know, maybe that hits a little bit different than you've learned Spanish for 3000 days in a row.
I think the comparison set is much larger though, than a lot of companies give them credit for, you know, themselves credit for. And I think that there's, I mean, there's a lot of ways that companies think about their, there are very few companies I imagine out there in the world saying, Oh, we don't do some degree of good for our users.
Uh, even if it's like a game, it's like, I don't know, you're like making, you're giving somebody, uh, uh, a moment away from the craziness of their lives. And so I do think though, that is contingent on companies who are going to figure out if a streak works for them to figure out how can you frame the streak in such a way that a user does feel good about it. And it's easier for, you know, a Duolingo, but.
I think there's creative ways to phrase this for users. The other thing maybe just on that that I'll say is the streak works really well for Duolingo because with language learning, it's really hard to see day-to-day progress and becoming more fluent. And fluency is not even the right word. It's like becoming better at Spanish or whatever.
It is a years long process for someone to get better at a language. I mean, Duolingo makes it easier, but you still got to put in thousands of hours if you're going to reach, you know, C1 or C2 fluency. And that is really hard to track on a day to day. And so the streak works really well for us because we might not be able to tell you, hey, you now know 0.01% more Spanish, but we can show you, hey, like,
you've gotten your streak a little bit higher. And so I think this works particularly well when you're an app that
is doing something that's going to be sensed or felt over a longer term to help contextualize that progress in a way that makes more sense or at least feels more tangible to a user. Great. That was a great context. Empowering to a lot of companies that aren't necessarily doing language learning. Okay. So I took us on a long tangent away from lessons and experiments you ran along the journey of iterating on the streak. So a few things you've shared so far is just like it started being like started with this XP idea and then went to like a lesson and
Then you iterate it on ways to make it simpler, maybe harder. You added streak goals where you commit to like, I'm going to hit a certain goal of streak. What else? What else have you found that has worked, didn't work? Lessons learned. You know, again, sticking with this one to seven days streak, you know, it is the idea of a streak, particularly probably to this audience is like obvious, like, oh, it's a streak. It, you know, goes, it just counts so many days.
we've realized over time that a lot of users do not understand how a streak works and and it can be as big as you know as small as well i don't understand how streak freezes work or i don't like my mom the other day was talking to me about she's like oh my i like didn't use duolingo and i come back my you know streak's still there so like there's like certain elements of the feature that you know we uh can do better at explaining but even like
what a streak is. It's, it's tracking how many days that I've used the app. Yeah. The more that we can make the feature easily comprehensible to users, the more retentive it is. And it, and, and we've run a number of experiments to do this, you know, as simple, you talked about, you asked about early easy copy changes that we made. Actually, this is my first win, uh, experiment. When, when I joined Duolingo was when you start a streak, we use, we have little copy, uh,
at the bottom of the screen that just, I don't know, it's kind of like flavor copy. We use it to celebrate you or give you context. And 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 win because it really required, like it really dumbed down here is exactly how the streak worked. And
it really helped users just understand what they needed to do. And I think this is something that's like, you kind of constantly got to remind yourself, particularly if you work in tech and you're building cool tech features, but your user base is not a bunch of tech workers to like, think about, all right, who is my audience? And for us, it's not just like tech workers, people in America, people all over the world of all ages of all cultures. And so making sure that your, your, your feature is,
Even something as simple as the streak is understandable as critical. What was the actual copy? Do you remember? It was still I think it's still on the app like start a day to extend your streak but miss a day and it resets something like that. Makes sense to me. Very clear. Yeah. Words. I love that.
Okay, and then when you say massive win, by the way, just to give people a reference point, what does that look like? What is a massive win in this scale? Well, and it's funny. I mean, this was four years ago, but I think it was like in the order of magnitude of over 10,000 DAUs for us. And actually, maybe just a small bit of context. So Duolingo really cares about the metric curve.
current user retention rate. And actually our first ever Duolingo post with Lenny was the newsletter that our former head of product wrote, Jorge. Still the single most popular newsletter post of all time in my newsletter across 300. I would highly recommend that if you are interested in this, give it a read. You know, to summarize basically what we found is that
If we wanted to drive DAUs and Duolingo cares, you know, our growth Northstar is DAUs. The metric that is most effective, you know, where a percentage change in that metric is most effective at driving DAUs is current user retention rate. And this is just users who are not new or resurrected, getting them to come back tomorrow.
And so most of the work that our teams do, our retention-based teams do, is focused on Kerr. And so the retention team that I lead focused on Kerr. It just so happens to streak is the best feature at driving Kerr. And so this experiment was the biggest Kerr win that we had had
that was like a top three Kerwin anyway for us just this little copy right and that's what I say like death copy a thousand different ways sometimes it's not the big beautiful feature you know that's going to drive the huge gains huge gains sometimes it's just something simple as a few words I love this uh okay so when you said 10 000 days I think that references you guys measure incremental impact and absolute numbers of new deal users you're going to drive with
attributed to that experiment. Yeah, and we do both. I mean, we'll also look at, like a lot of times I'll look at, you know, for retention day one versus day seven versus day 14. A lot of what I'm looking for is for us to have a better day 14, excuse me, better day 14 impact than better day one impact because it means that users are retaining better over time. This is particularly for users that would see a feature multiple times. I just like absolute DAU numbers because, you know,
As long as you're controlling for different biases, like a recency bias or a novelty bias, it's a really easy way to just have an absolute comparison. You start to look at percentage changes, and then it's influenced by your treatment. How many users saw the experiment? But at least an absolute number is easier, in my mind, to start comparing. Again, there are pitfalls with it, but we find that that's a pretty useful way. That lesson comes up a lot on this podcast, isn't it?
approach to experiment. So yeah, you're in good company. Quick tangent, if there's not an answer to this, no problem. Coming back to the idea of just experimenting like crazy and not creating a product that nobody wants to use anymore long term, is there an example of an experiment that was positive that you all decided, no, we don't actually think
this is what we want in the product they ended up not shipping. Retention doesn't only work on the streak, although you would think most of our work is the streak. We've touched a lot of different surfaces over the years. And there was one experiment that we launched that we talked about XP earlier. In the lesson, the only UI elements are a progress bar at the top and then how many hearts you have. So we keep it really simple. And this very much speaks to the design philosophy of Duolingo, which is simpler UI is better.
And we decided, Hey, let's add XP in there. And so let's show your XP ticking up as you're going, you know, through a lesson that's going to make the user feel good. It's going to give, you know, show you what you've earned. You're gonna be less likely to quit all of these good reasons to do it. And then you finish the lesson and then we'll show you've collected all this XP. And it, and it won. I mean, the hypothesis was a good one. Um,
But we realized, and I remember having this conversation with Luis, is like, cool, this is our most important screen in the app. It is our lesson. It is where users learn. And the focus here is on learning. And now you've added this other
thing up there to distract, you know, that could be distracting for users. And I think the question, you know, we talked about roadmaps and strategy here, the question that he had for me, and I didn't have a good answer for at the time was like, so what else are you going to do with us? Like, what's your iteration ideas? Where's this going to go? Is this going to make the, you know, lesson experience more gamified or, and, and, and what we realized is that like,
Honestly, it was kind of just an easy engagement win idea, but we had touched our most sacred space in the app to do that. And so that was a case where it's like, yeah, it was a nice win, but we'd added that UI element. And at least at the time, it was less clear what we would do with it. And we realized that long-term, it was just going to get in the way. And we'd rather, for simplicity's sake, pause that
you know, shut it down and keep the lesson, you know, to be the, a little bit of learning sanctuary. It was now it's funny nowadays. I think we actually have enough XP based mechanics and fun things that we can do that. Like, I think actually a lot of our, um, you know, the, the, the beliefs about the unless an experience have changed, such as something like that could work, but at the time, you know, didn't feel good to keep that around. That was an awesome example. Uh,
Hopefully we have time to talk about how the team operates, where my mind goes is like, oh, but you have all these PMs and teams that want to show impact and the performance reviews and all that stuff. And you're shipping, you're not shipping something. They're like, oh, look, we did a win. So I want to chat about that later. But let's keep going on things you've learned and things that didn't work on the journey. The other thing that I'll call out with
the the the streak is you know it's like we have the the the image of the streak is this flame right and you know we have the streak flame and and it's very much core to our iconography it's important to acknowledge that that's a metaphor for a retention mechanic like the idea of keeping a flame lit and again if you've i think we've we've established the flame as you know for a lot of users as sort of their understanding of a streak which is great but there's a lot of people
you know, in different cultural context and different, you know, uh, uh, stages of life where the idea of like keeping a flame lit to show your commitment to something makes less sense. Um, we did some UXR in India many years ago, and this was something that just like did not resonate at all. Um, there, which was, which was a really interesting learning. And that's something it's like, again, depending upon what your user base is, like,
the more global UXR you can do to understand how users are actually understanding and experience your feature, the better, because you just, again, encounter insights like this. And so,
Even our screen design, you know, we used to have a flame. It was just, it was mostly this flame that would like light up every day. But again, it was like an indication of a metaphor for a mechanic. And when we redesigned it, we did this, Kurt, one of our animators, did this awesome odometer animation where it's like your number would tick every day. It kind of like looked good. But from a product perspective, what was cool is we actually focused the design on the screen.
to show your number going up. And then it would say, you know, like seven day streak, eight day streak. And I think that as you're thinking about designing around a streak, don't get too bought up, you know, or caught up into like,
What is this, you know, like the beautiful story that you're trying to tell at the expense of it being a really comprehensible feature. And so as you're thinking about product design, making that product design a clear distillation of this is what we're actually tracking, you know, form should follow function here.
you know, was a, was, it was a learning for us. And you'll see that now in a lot of places where we're showing streak, where we're really leading with the number, not necessarily the, the flame. That's all. That's a theme that I'm hearing again and again is clarity. Yeah.
don't obsess with making it too thought like clever and don't ever think it just like clarity has a big impact. Clarity also doesn't have to come at the expense of delight. And this is something where, you know, you hit a milestone and duo gets the, you know, it becomes, we call them a Phoenix duo and he becomes awesome and, you know, lights on fire. And I think there are things that you can do to still make the experience really exciting and delightful and celebratory and, and,
I would not lose that, but just don't do it at the expense. And I think it's also about figuring out for what, you know, you can get away with doing more of this for users who are deeper into their streak experience than users who are starting where it's like your goal for the one day streak users just to make sure, do they understand how this feature works? I mean, even something again, just like another random experiment at the bottom of the streak screen, we have a calendar.
And over the years, it just looks more and more calendar-like. And that is simply because we find that the more we make it look like a calendar, days on top, little circles, the check. The more we make it look like calendar, the more that people realize, hey, this is a daily mechanic. And so think about the screen holistically, but every single thing that you're doing on the screen, how can you use it to communicate what is the point of this feature? How does it work?
This episode is brought to you by Coda. I use Coda every day to coordinate my podcasting and newsletter workflows. From collecting questions for guests, to storing all my research, to managing my newsletter content calendar, Coda is my go-to app and has been for years.
Coda combines the best of documents, spreadsheets, and apps to help you get more done. And Coda can help your team to stay aligned and ship faster by managing your planning cycle in just one location, set and measure OKRs with full visibility across teams and stakeholders, map dependencies, create progress visualizations, and identify risk areas. You can also access hundreds of pressure-tested templates for everything from roadmap strategy to final decision-making frameworks.
See for yourself why companies like DoorDash, Figma, and Qualtrics run on Coda. Take advantage of this special limited time offer just for startups. Head over to coda.io slash lenny and sign up to get six free months of the team plan. That's coda.io slash lenny to sign up and get six months of the team plan. coda.io slash lenny.
I imagine one of the biggest wins was just giving people flexibility along the journey, like streak freezes and all these things. Is that a big vein of opportunity discovery? It is. It is great. Actually, I'm going to show you one of the most thoughtful gifts that anybody has ever given to me. This is our Duolingo Serenity or Streak Serenity prayer. My co-lead, Antonia. It's like knitted, right? It's for me. It's amazing. And so it says...
Luis grant me the serenity to accept the flexibility. I need the courage to reach perfection when I can and the wisdom to celebrate regardless. And that actually is like kind of our strategy with the streak. So the show and tell, by the way, that was great. Yeah, I will. Well, I guess for, you know, podcast listeners, we'll have to, you know, get an image somewhere. Um,
this idea of like flexibility versus perfection and then regardless celebration is core to how we think about the streak. Cause you know, I think for the streak for us, it's very much a bend, not break. You know, if you're going to miss a day, I'd rather you come back, you know, having not, you know, having missed that day to an intact streak. But if you don't have to miss a day, I'd much rather you don't. I'd much rather you come back and use the app every day. So yeah,
That thing on flexibility, though, that's almost certainly been the biggest, from a mechanic perspective, the biggest DAU driver. One of the earliest experiments we ran was going from, you used to only be able to have one streak freeze, and then we let you have either two or three. So we tested two different arms. It was, again, another huge DAU win. This actually is funny. It was something that, and this is, again, kind of a callback to that growth model post from Jorge. It actually was really bad for Kerr.
Because we were basically saying, hey, you can take a day off. You know, that's okay. But it was really good for...
This is going to be like alphabet soup. I war an active weekly active user retention return rate. So basically users who had taken a day off, we were getting them to come back more at higher rates. And so it made up for our losses and curve. But effectively what this meant is that, you know, why two streak freezes work better than one was, I don't know. Sometimes people just need a little bit more flexibility than one day. But one of the, again, the really interesting inside of this experiment was that three streak freezes,
was actually no better than two streak freezes. And there were two competing things here. And I think this is important if you're going to build a streak to figure out what your flexibility mechanic is. We are getting more users to return after longer times away to an intact streak. But if you start taking three days off from any habit, it's just going to be less likely that you return even four days later. And so we had these competing things where
Users might more users might be returning to a streak. A lot of users were also just not coming back. We were training them to, you know, take more time off. So that flexibility, what's the right amount of, I mean, we've, again, this is another area we've run hundreds of experiments on what is the right number of flexibility? What is the right amount of flexibility? And we,
We are constantly surprised here. We don't, I still don't have the answer for at every point in your streak journey, how much flexibility you need. One thing that I can say with certainty though, is give more flexibility when a user is starting their streak. Again, one of our biggest streak freeze experiment when I feel like I'm,
Constantly saying this, one of our biggest wins, but they all were really, really big. One of our biggest streak freeze wins was when you start a new streak, we give you two streak freezes. And again, it's so funny to think back. It's like, how are we not doing this to begin with? But at the time, the streak freeze was kind of an overly gamified mechanic. You had to buy them with gems. That's our in-app currency, you know, because we wanted the whole idea of
you know, this to feel like you, like it was really, you know, something you earned that, you know, there was a little bit of pain to getting that streak freeze. And so we tested though, what if we just give users when they start off their streak to streak, streak freezes and Holy smokes to that win. And it's sort of obvious now, you know, in retrospect, but,
If you have a one or a two or a three-day streak, it's really easy just to let it die and restart. Again, you need to get to seven days, what we've seen in the data, for it to really lock in. And so giving users more flexibility so it's harder to lose their streak initially. And then conversely, and this is what we keep learning, eventually once people get on long streaks, you kind of don't want to give them as much flexibility. Because there's a lot of times where...
Yeah, users don't. And I'm like this. I've got like a 400 day streak. Note that that is a lot less time than I've been at Duolingo. I have lost and restarted streaks a lot of times in my time at Duolingo. But you start getting a lot in streaks and you really care about this feature. You really care about your streak. And most people, as long as you're not like backpacking through, I don't know, you know, the back country of Utah, you know, you'll be in a place where you can get service. And so figuring out
Where is the you know, who is the user that actually could use Duolingo and not conditioning them to start taking days off that they didn't otherwise need to do is is important to figure out sort of where that line is for for your future. This is fascinating.
You can also buy a streak, right? Like with money. Is that, that's a feature, right? Yeah, you can. It's funny. This is, this is also something that we buy. Yeah. You can buy or freeze. Sorry. Not a street. Yeah. So you can, you can buy a streak freeze in the way it works is you can buy gems and then you can use those gems to, to buy a streak. And this is something we wrestle with. We're actively working on an experiment right now. That's having a small hit revenue, but it's a really nice one for retention. And, and,
I think it's actually worth thinking about from day one as you're building a streak. Do you see this more as a monetization feature? And do you see this more as a retention feature? What's the role of monetization in this? What's the role of retention? And I think for us, it started out much more organically. And so we have a lot of like monetization hooks that again, as the retention PM, I would love to get rid of. But again, it's sort of part of how the streak works right now. And so we always have this tension of,
Hey, if we start to make it harder to buy streak freezes, then fewer people buy them, you know, buy gems to buy them. And so there's this more convoluted, you know, series of impacts that happen. Yeah, I love that. I love that people wanting to buy streak freezes like the ultimate sign of how much streaks matter. Yeah.
Yeah, streak freeze is the other big one that we've recently demonetized or introduced a free option for is getting back a lost streak. So you used to lose the streak. We had a feature back in the day called streak repair. We'd give you your streak back. You had to pay gems. But what we found that worked way better was a feature called earn back.
And this is basically where you would have to do a certain number of lessons as long as you came back within a window soon after losing your streak. Do a few lessons and we just give you your streak back. And it was such a retention winner. And again, 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. We haven't cheapened the streak because you've done something. And in this sense, this idea of cheapening the streak is something like from a philosophical philosophy of the streak. From a philosophical level, we wrestle with all the time of, cool, we're giving out more streak freezes. At what point do we cross the line and users start to realize their streak means nothing?
Now, everything that we've seen, users are totally cool with using streak freezes and still thinking about the streak as this meaningful thing. But my co-lead, Antonia, who made that awesome cross stitch for me, she is sort of the keeper for us of the sanctity of the streak. And a lot of times as we, and I think this is really important to have as you're thinking about building your streak, 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 more flexibility, right?
But you kind of got to hold the line at some point. It's not clear where that line is. And once you, like you talk about one-way doors or two-way doors, there's a point where you go too far and it's a one-way door. And all of a sudden those users, those 9 million users on one-year streaks don't care about their streak anymore. And that is...
I don't know, again, retention PM perspective, that'd be an extinction level event for us. I don't want all of these users to stop caring about their streak. And so to have somebody who is invested in the sanctity of the streak, and for us, it's Antonia and Luis, he's very good about this, is really important just so you make sure you don't go too far.
That's an awesome insight. So to protect and push notifications, I think are another example of this in general for companies like how much is too much because everyone's just like, let's just send another push. It's fine. Just one more.
Uh, and I, so your solution to that is, uh, a person is like the keeper and the gate, almost the gatekeeper plus the founder of how far is too far. That it's, yeah, it's, it's good if you can, if you can have that. Um, I think push notifications are also easier cause you know, there's a lot of things you can do around. All right, we'll set a budget cap for how many notifications we'll send. You know, you can, you can create a policy.
Yeah, policies. But I think with a lot of things, it's hard, at least for the streak, it's harder to create policies for in the same way. A lot of it has to be done based on feel. And so you kind of just got to use your best judgment at times. Sweet. Okay. Any other, maybe like one or two more lessons from this journey of what streaks has become today?
I mean, I can, you mentioned notifications. I've mentioned this a few times. One, it's funny. You, you, you tend to think of like exactly as you say, you can just always send another notification. It's going to be some win. And at some point, you know, it'll, it'll be a bad experience, but it's tough to see that.
There's actually a notification that we, so we send two notifications related to your course streak each day. The first is a practice reminder. We send it, and this is actually an interesting insight, 23 and a half hours after you practice the day before. Whoa. That is a lot. 23 and a half, okay. So basically, if you practice at noon today, we'll send it to you at 11.30.
a.m. tomorrow. And we have done... Because it's like assuming they were free in that time the day before, maybe they'll be free the same time. And we actually moved... We used to let users set this practice reminder time and our thinking was, cool, you're going to say...
7 p.m. That's when I really want to extend my streak each day. And then you know what? I said, this is somebody with two kids. Life gets in the way. Life always gets in the way. And when you think you're going to practice will change, your life will change, whatever. And what we realize is the best indicator of when you should practice was when did you practice the day before? We could almost certainly get more detailed. We have tried a bunch of ways to have much more complex logic. And what always wins is 23 and a half hours.
hours so interesting revealed behavior versus yeah exactly um so so we again we send this practice reminder 23 and a half hours later the other thing that we'll do though is 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 we'll send you a message saying hey you know like it's it's your last chance this is this is it if you don't extend your streak and you would think that like
That's kind of spammy. That's kind of annoying to get a notification from an app at 10 p.m. But what we found is because people care about their streak, their streak is this good thing that they attach positive emotions to that they don't really want to lose.
that notification reminding them, Hey, come back. And like, people see this, uh, uh, by and large as a positive notification and on a negative notification. Obviously it serves our purpose as well of getting users to come back and not lose their streaks. But again, I think if you can think about your notification strategy related to what is the feature that it's tied to, how do users perceive that you can almost certainly get a, not get away with more, but you know, you could be thoughtful about notification load, um,
and when to send notifications. And again, for us, this like late night message that's also highly impactful, super good, you know, is actually something that
could be perceived as spammy, but a lot of our users really do. Somebody who it's often late at night and I work here and I'm like, ah, forgot to do my, you know, I was thinking about Duolingo all day, you know, here it is 1115 and I saw it done at that message is really powerful. Yeah. It has saved me many times. I totally know that message. And I love that it's like a late night message from an app that
very rarely do you actually are happy about that and i love that this actually is a good example we're like it's it's really it's really funny all of the stories that you hear about people extending their streak you know if you look around a duolingo party uh you know where it's like 10 11 30 11 45 all the duolingo employees that are like doing their lesson at the last minute uh you always see these like pictures of people in the club doing or like at a concert doing duolingo and yeah because it's like
Otherwise, you're going to use a streak freezer. God forbid you will lose your streak. That's so funny. Okay. Anything else? And if there's more than one more, definitely share. But any other really interesting lessons or wrong turns or insights? I talked about streak freezes, and we've done a lot with streak freezes. But I think if you're going to make flexibility a thing, it's probably also useful thinking about how do you celebrate perfection. And so we have a feature that we have.
It is the simplest thing in the world. It's called perfect streak. And it's just, if you don't use a streak freeze for a few days, we make your streak look gold and we make your little progress bar on the calendar. Um, just look a little bit nicer. There's no reward for doing it. You don't get anything other than this nice little indication that,
And it is awesome. It is a simple feature. It is ultra not complex. And it is really powerful, not only for getting users to, as a bit of a reward, they'd be, hey, get to seven days without using a streak freeze and your streak becomes perfect. But it's also a really nice indication of users who aren't using streak freezes, here's
Here is the thing that if you don't use a streak freeze, which again, candidly, I would love for you never to use a streak freeze. If you don't use a streak freeze, your streak will stay perfect. It's funny, we actually just, we're constantly responding to bug reports about the streak. It is, I swear to God, we have the best infrastructure around this feature because it is so important. We had an employee who lost her
like a four month perfect streak. And, you know, it was a big deal for her because she, you know, because she like did her lesson as she was crossing international dateline. There was like a bunch of stuff going on that was like, it was just kind of weird in our back end. But like people start to care about perfection as much as they do their streak. And, you know, for that person, it was, it was, it was a big deal when they lost their perfect streak. And so, you know, this is just an example of like, if you're going to, if you're going to go after flexibility, you know,
which is good. Finding a way to pull users back into perfection is a really important counterweight to have. What I'm imagining is you guys need like an Amazon-style chatbot that just gives you the streak back. Just like, okay, here you go. We have very much, so we have, if people lose their streak, there's ways to get in contact with us. But we've actually thought about that where it's like,
okay, we should just build a self-service feature and if we think that your excuse is good enough, whatever, we'll just... Yeah, yeah. Because again, it's for us... You can't even ship it back. I'd much rather you be on a streak than have lost it, particularly if it was... Right. But it also can't feel that easy. I love this. I also love this point about just the power of the animation and user experience having impact. That's really interesting. Is that something you find often, just like celebrating and making it feel really...
amazing without like copy or, you know, or like any feature is just like, holy, you're awesome. This is another thing where it's like when users care about the feature using not only animation, haptics, sound effects using, and it's funny, we don't have sound effects on the street. This is probably something we'll look at in the not too distant future, but like haptics are like something we have done a lot of testing. Like the phone vibrating. Yeah, exactly. Your phone, you know, like there being a really cool
haptic pattern as you extend your streak, all of this stuff wins. And it's cool because I think it wins. There's a few reasons. One is it just makes you feel good, right? You know, you get some cool moment in your streak and we celebrate you and we celebrate you in this visual way and your phone's buzzing. It just like feels awesome. The other thing it does is it like causes you to pause on that screen. And I think
There's this desire, as you think through a lot of, as PMs think through, like, oh, how can I get users through this funnel as painlessly as possible? I talked about good and fortunate earlier. There's a lot of times where I don't. I want you to stop. I want you to stop and land on this screen. You got to be careful not to do this for too many screens. But the one big ones, sometimes I just want you to pause there and enjoy the moment. Because if I can get you to enjoy the moment more, you're going to care more about your streak and you're going to be coming back tomorrow. And so
animations that are cool and that cause you to like really soak it in haptics, you know, that feel good. All of that comes together to make you really focus on that moment. Um, that all of that just gets users more connected to their streak. So animation in the right times works well. Um, and it's something we've had when, uh,
quite a lot. Who designs the haptics stuff? Is there like a haptic designer? For the longest time, it would be a product designer. It initially started as like the engineer would be like, all right, you know, we'd cobble together haptics based on what they felt good. Then it became a product design
um, role where they would kind of use their best judgment. We actually just recently acquired an animation studio, uh, Hobbs and in Detroit. And now they are the sort of keepers of, you know, there do a lot of motion design work, haptics very close to that. And so they do a lot of that. I do remember trying to hire for a while, a haptics like contractor, like haptics design. And it was the saddest hiring I've ever done because it was just like, I don't know, like it was such a specific, uh,
Like, I just went through a lot of people who, you know, it's just a really tricky space of like kind of sound effects, kind of motion design, sort of technical. Yeah. So it's not such a unique role. Very unique, specific skill set. Right. And there's very few apps that really need this this deeply. So you're almost creating this person. Yeah, that is fascinating. I don't want I'm going to that's like a whole podcast on its own. By the way, I was going to say, as you're talking about this, I love that you're
It's a win to celebrate people that don't lose their streak. Like you introduce this way to make it flexible and that's a big win. And then you could go the opposite direction of if you don't use this feature, you also feel even better. Well, and it's funny, you talked about the danger of feature bloat. We sort of talked about the danger of feature bloat. This is actually something I'm constantly thinking about with this. Like we have the streak, but then we also have the perfect streak and we can count how many, we count how many weeks you've had a perfect streak. All of a sudden we have two streak numbers that are kind of competing with each other.
It's funny, we actually don't introduce the concept of a perfect streak until after you've hit seven days. And some of this is just because the cognitive load of additional streak features. A lot of our cooler streak features, you got to get on a long enough streak. And not to say we haven't tested it, because we have, because we've tested everything, introducing these features earlier. But what we've found is that pretty universally, they lose when we...
introduce too many things, too many concepts to users too early in the experience. It's just hard for them to manage. Okay, sweet. I know that we can go down this track for hours and hours. There's endless learnings about all the things you all have done along the journey. I'm going to shift to talking about how your team operates.
So there's a lot of threads you touched on of just how a team can do this so well. Ship 600 experiments, as you said, continue to find opportunity. What are some maybe lessons or advice you'd have for folks that are like, oh, wow, I want to work more like this forever?
from your team's experience? How does your team operate that folks can learn? Yeah, maybe just a little bit of context. Duolingo cares a lot about metrics. So most of our teams are metric-based teams. So we do the most work with Streak, but the metric, what we really care about at the end of the day is Kerr and DAUs because we see that DAUs hit Kerr. And so...
When you can be really laser focused on my goal each quarter is to make this metric go up. I think it's much easier to make sure that you're working on the highest ROI thing. I think when you think more about like, oh, I want to make this feature better. I think it's easier to get lost in what better means and how you think about better. And so I do think that like having a really strong degree of focus, you know, as a team on,
you know, what is the metric that I'm caring about and how is that directing my efforts is versus feature oriented. So basically your teams are structured around a metric slash a goal slash outcome versus we own this feature or this retention owns streak, I guess, but that's only because we've seen streak drive curve better than any feature. But yeah,
We are not, I mean, we have this, you know, IAP hook with our streak freeze purchases. There are other teams that work on, you know, that can and have worked on the streak because it's not ours to say, no, no, we do all the iterations here. We just know that it drives our metric better in the same way that like leaderboards work.
You know, we have a team that focuses on how much time you spend. We want users to spend more time on Duolingo so they're learning more. Leaderboards is the best vector for doing it. So that team does a lot of leaderboards work. But every now and then I have an idea that I think will be highly retentive and I will go in and I will pitch to them and then we'll do some change to the leaderboard to make it more retentive. And so, but I do think having that clear metric of we're trying to drive Kerr, not we're trying to just make this feature better helps at least.
make sure, you know, give the team clear marching orders. And that focus I think is really good for prioritizing backlog. Cool. This is a really important point. This is the same way Airbnb worked when I worked there for a long time is it's, here's a goal that we want your team to be responsible for. You can work on any product you need to hit this goal. As you said, often like various products are most connected to what you're doing, but what you're describing is like
even though it seems kind of like, I imagine you own it from a bug perspective and you kind of like are the shepherd of this part of the feature because it hits your goal, helps your girl most, but any other team can come in and be like, Hey Jackson, we need to work on some streak stuff to help with learning. You're like, go for it. Does that just a tangent there? Uh,
Do they work really closely with your team if they want to do some work in the code? How does that work? Again, this is where I say there's soft ownership. We're not against teams doing things to the streak, but if we're going to do something, given we probably have multiple quarters worth of a roadmap around the streak, I say probably we do, multiple quarters of roadmap for what we can do to the streak,
If other teams want to come and mess with it, okay, we got to just figure out how is that going to work with, you know, what, what our plans for the street were, how do we make sure a lot of times when teams are coming in thinking, Hey, let's do this to the streak. They're like in context that we might have. And so there's as much of like a much simpler version of what we're doing now, a bit of a knowledge sharing of saying, all right, well, this is what we think about the street. This is what we've seen work. Hasn't worked. How does that influence some of the hypothesis that you have? And so I think getting that really making sure the juice is worth the squeeze. Good old fashioned product management work right there. Yeah.
Cool. What else is interesting about how y'all operate and how y'all work to achieve this sort of success? Again, my team lead runs is Antonio runs like the most, you know, really process. If you're going to run this mini experience, you have to be really process oriented and really thoughtful about which experiments am I going to run? When? How is that going to set up the next one? We have.
You know, there's heavy Jira automation. I think sometimes the Atlassian suite makes my eyes bleed. But like, there's a lot of times where that degree of process helps the team unblock engineers and make them move really fast. And so making sure that you have really good process around how are you going to run so many experiments? It's, you know, it's worth investing in. Can you follow that thread? Actually, just when you say that, what does that look like? What are some...
elements of that process to make this work efficiently. All the way down to really detailed roadmaps around, all right, we're running this experiment is based on the results of this experiment or might hook into an element of this feature. How do we make sure that we're lining up
implementation on this so that as soon as this thing runs and we're ready to go, we can start rolling out the next one. You know, I hate features just sitting around and us not again, continuing that thread. So it's not just thinking about what's our engineering bandwidth, but also what's the design bandwidth to make sure that we have the next iteration of this feature ready to go. You know, we're planning,
months out as we think about these feature iterations, even small ones, feature iterations, because again, when you lose cycles, not pushing on a feature, it's just sort of lost opportunity. And so everything from being thoughtful about engineering roadmaps to design roadmaps to product roadmaps, all of that needs to come together in a system. So essentially mapping dependencies across function, and you're saying in Jira, you can do this.
You can do a lot of it in Jira. There is a non-zero amount of Google Docs that we have that sometimes does things a little bit. I don't know. Sometimes it just looks a little bit nicer. It's a little bit more flexible. But Jira is our...
It is where the mother load of process is. Great. Okay. What else? Like another thing that I'll, that I'll just say is like, we really resist the urge to do the big V one. And I think this is, you know, I shared the, the, the street goal example where a lot of times when we're exploring something, we will say, okay, well like that's cool.
How do we strip away a bunch of stuff and figure out what our core hypothesis is and then just ship that thing first as a V1? Because it's easy, and I've found this time and time again, it's easy to add things to features that make them win. I've worked in retention engagement long enough. I can add enough things to pull and bells to add and whistles to make something win, but
And there's a lot of times where it's like, cool, they don't want because all the whistles you added, not because of what your core hypothesis was. And a lot of times, if you can just really simplify what the feature is, it's also much easier to ship. It's easier to design. You're not designing for a whole system. You're designing for something much simpler. And so getting everybody to think that way allows us to end up shipping faster, shipping simpler, faster.
designing faster, getting faster approval, getting insight, and then doing what I talked about with Street Goal, being able to run iteration after iteration after iteration, add these things iteratively. And then not only by doing this are you able to move faster, but you get confidence at each step of the way that, hey, my series of hypotheses is actually borne out. Or if it's not,
Cool. Then we're going to drop that part of the feature and then just ship what actually matters. If I can try to summarize kind of the broad lesson so far that I'm hearing, and maybe you would have shared this, but I'm just thinking like if I were to try to design a company to operate the way you all operate, you essentially map all the levers that drive the business. So you have kind of this mapping of all the metrics that drive up to growth and return.
daily active users, you Kerr ended up being the biggest specific metric to move to drive growth long term. So there's like imagining a tree of all the opportunities you could work on, you found like this is what is most connected to our growth long term.
You basically just start mining. I don't know if mining is the right metaphor, but just like looking for things that move that specific metric. You just like look and poke and explore. And then once you find one, you just go real deep on trying a lot of different. You come up with a hypothesis and a strategy of here's how we think we can do this and how we can move this. And then you just try a bunch of stuff.
There's also this element of the rest of development quote, there's always money in the banana stand comes to mind where it's just like, keep working on, see, there's more, there's going to be more opportunity. When I joined Duolingo, the PM that I took over for Anton, who used to lead the retention team, I remember saying,
dude, the streak, like it just counts up. You guys have been tested on for years. How much more work can we do on the streak? And he was like, Jackson, you child. He didn't say exactly this, but this is how I felt it. Like Jackson, you child. There is, we're not even 30% of the way optimized. And four years later,
I say that with like such conviction, we are so far away from what, I mean, we've made a ton of strides, but we are still so far away. And every quarter where we ship a ton of, you know, wins and, you know, improvements to the streak, it just continues to prove to me that like, there is so much more to be done. So yeah,
I think your framing of it is, and I would say there's a lot of thought that goes into, you know, again, you know, I talk about the strength of the hypothesis that you have, you know, you have to have as you start to build out larger, you know, future strategy. I do think it's really important to not just do a bunch of random stuff, but do it with intent, you know, with a goal in mind. Otherwise you do end up in these local, you know, local maximas, but yeah.
Yeah. I mean, there's still a bunch of stuff that we haven't tried that, you know, I think we have high confidence and, you know, working out and so we'll, we'll keep doing that.
Are there any other say lasting lessons from this journey that if someone were to try to operate this way, build Streaks into their product, anything you'd recommend? Yeah, I really do think it starts with, you know, Streaks are an engagement hack. You know, you can, you can make your app more retentive. I'm almost positive. Almost every app out there can make it more attentive. It is loss aversion. That is, you know, again, armchair psychologist, Jackson, like,
It's just a human thing that works on humans. But if your app is not something that users want to use every day or whatever cadence you want your app to work on, it's going to be, you're only going to get so much from that streak. And honestly, it's probably going to distract you from what really should matter, which is making your app something that people want to use every day. And so if you start focusing on the streak, but you haven't made that an enjoyable experience,
you're just going to waste a lot of time, honestly. And so I think making sure that you have your core loop of your app figured out that it is giving value to users is something that they want to come back to every day.
That really sets the stage for something to layer a streak on. So resist the temptation if you haven't, you know, if you don't think you've reached that point to go too hard down the, you know, the path of streak. That's a really good point. Just like a streak is not going to solve your problems if people don't actually care about the core value you're providing. No, and honestly, it'll probably cause more problems if what you end up focusing on is how do I make the streak highly engaging, but your app isn't. I mean, you're just...
You're, you're, you're wasting time that could otherwise be, you know, better spent on solving more, more critical problems. So that's, that's one learning. You know, the other thing that I'll say is, and we, we met with one of our board members, um, being, being Gordon a few weeks or a few months ago, rather. And he had this comment where he was just like,
The reason why users care about your streak so much is because you care about your streak so much. You being Duolingo. Like the reason why users care about our streak so much because Duolingo cares about the streak so much. We're like, what do you mean? Well, he's like, well,
After every session, you see a big streak screen and it's animated cooler than almost any other screen in the app. And then sometimes you see some other screens and there's all these other feet, like you don't let a user forget it. You talk about them and messages. And, and so I think it's worth thinking about, look, if you're going to build a streak and then you're going to second it off into the corner of your app, you know, where users aren't going to see it. Like there's,
they're probably not going to care about it as much. And which might be fine because there might be other levers that you think are more important to pull on. But there's a reason why, you know, we focus as much on the streak, you know, as we do. And that's because we want it to be top of mind for users. And it's not by accident then that users start to care about it. And so I think just as you're thinking about building the streak,
making sure that you're giving it the visibility it deserves if you want it to have the kind of impact that Duolingo has. It's sort of an important hierarchy principle to think about as you design things. That's such a good point. You look for cues to the app of tell me what I should pay attention to, what's important. If you're just like fire explosions, you've hit a streak. Maybe I should pay attention to this feature. And then the push notifications obviously encourage you there too. Anything else along those lines? Maybe final thing is
Look, we ran so many tests on our Duolingo streak to figure out what worked. I mean, we have a philosophy at Duolingo of test it first. We are a lot of times willing to test things. I really think that if you're going to try to introduce a streak or you want to improve on the streak you have, don't get too caught up in...
The, the, the philosophy of, of everything. I mean, make sure your hypotheses feel like they're good, but my recommendation is just try things. And this is, again, you said it earlier. It's like, this is most human psychology is anything. And as soon as that becomes the case, like,
you kind of just got to understand what users respond to. And the easiest way to do that is to stop spending time, you know, batting around ideas in a conference room and just try some stuff. So huge recommendation to like, if you're going to invest in a streak, try and figure out what works through testing with users rather than trying to get it perfect on the first try. Say someone's listening and they're like, should we do streak? Cause it's worth doing.
What's your take on just like the chances that a streak feature would be helpful to another consumer? I am well known for saying in the company that I think every streak, every team, every app could benefit from a streak. Now, how you implement it is very different. And I think you got to like, what is your user's use case? Like if they're going to come use, I don't know, tax software.
Okay. You know, now that I say this, tax software would be a hard one, but maybe it's all about, you know, you need users to come back every day during the tax season or how many times, I don't know, you know, now that I say this out loud. Times you upload your bank forms. Yeah, that is a hard use case. But the vast majority of companies, I think, have a good idea of like, all right, here is my ideal use case. I want users to come here.
three times a month, that, that would be ideal, you know, or four times a month, you can build a streak to work. I mean, Peloton has, has weekly streaks because the idea of doing a Peloton, you know, a workout every single day is hard for a lot of, it was hard for this user during COVID, you know, it was just like every now and then you get on the Peloton. That was great. But the idea of a weekly streak was something that I could keep up. And so I think figure out what your usage pattern is, is a user and then build your streak around it. But
As long as you're not... Again, the tax example was probably a good counterfactual. But as long as you have some degree of frequency in your use, I think almost anything can have a streak. So Duolingo, it's again a $14 billion company. This feature...
possibly the most contributing factor other than the core you know product to that level of success and market cap and it's hard to imagine another just feature of a product that has had this much impact on on growth and revenue and building this sort of business so i love that we spent this much time on it the mother load the mother load of advice and insights so thank you again for putting it very fun
With that, we've reached our very exciting lightning round. Are you ready? I'm ready. First question. What are two or three books you've recommended most to other people? All right, I'll start with A Guide to Midwest Conversation. So I'm based in Kansas City. I'm a proud Midwesterner. And us Midwesterners talk in a certain way. I think you hear about Minnesota Nice. But we tend not to say what we mean. And it is a very funny primer into...
what Midwesterners actually mean when they say what they say. So highly recommend reading that. I like that. They give that to people just like, here's what I might be telling you, which you may not read.
My wife is German and I gave it to her. I can see German being the opposite of that. Very different. Another book. This is a good one. Fate is the Hunter. This is a really cool book. It's a memoir of one of the early commercial airline pilots. And it is wild to hear the stories about what...
what flying was back in the day. I'm a former management consultant. I flew every week for almost six years and I never once had to worry about, am I going to make it to the other end of this flight alive? That was not the case back then. And so some of the stories about what it used to be like to be a pilot on some of these planes before modern aviation technology is fascinating. It makes you really appreciate what we have.
It's, uh, it feels good to read a book like that being a software PM or engineer or whatever, like how different that life is. Hard, hardware is hard. Oh man, it's not haptic design. Okay. Next, uh, unless there's any other books you're going to share now. Okay, great. What's a favorite recent movie or TV show you really enjoyed? Uh, so I have two kids. I watch a lot of bluey. Uh,
Um, it's really good. I swear it's, it brings me no shortage of joy. Um, but adult show that I heard show not meant for four-year-olds that I have watched. I just finished the latest season of Emily in Paris, man. Wonderful. Uh, I realized it's not the highest brow of television, but just like beautiful people and beautiful cities solving problems that are not, you know, earth shattering. Sometimes it is nice to just
Tune out. Also, I'm learning French on Duolingo. Slight plug for the app. I can understand a lot of the French that is being spoken and there is no better joy than having invested as much time as I have in French and actually being able to use it. So yeah.
Huge fan of Emily. That is so funny. What a fun Venn diagram of interests. My mother-in-law loves Emily in Paris. I saw someone tweeting about like, what visa is she on? How is she still in Paris? Yeah, you best just not ask questions. There's a lot of questions for this show that are unanswered. Do you have a favorite product you recently discovered that you really like other than Diolinko? Last week, I went to Home Depot and I bought a new ladder and it's
ladder innovations you don't think of often, but you can make one of the legs go a little bit further than the other leg. And as somebody like myself who has a house that is built on a slight slope, every time I go up on my ladder, I take my life in my hands. But with this ladder, I'm always even... I cleaned my gutters twice last week just because of how awesome this ladder has... How much this ladder has changed my life. So...
ladder innovation i don't think it gets talked enough about and so i'm happy to give it the spotlight it deserves i appreciate you doing that it's the first ladder recommendation we've had on the podcast two more questions you have a favorite life motto that you really find useful and worker in life they share with folks this probably will not be much of a surprise based on how i've talked about our willingness to test things but you miss 100 of the shots that you don't take i'm a big fan of just trying things even if you're
Possibility of success is not 100 because you learn a lot along the way. Final question. Do you have any fun traditions at Duolingo amongst either the PM team or the company in general that might be delightful to share? We have way too many traditions to count. I will share the weird tradition that we do at every retention stand-up. And this started during the pandemic. We obviously used to stand up in person. And then when we went remote...
We did this thing where whoever's the last person to go would count down three, two, one, and then we'd all try to clap at the same time, which was kind of fun and dorky, but we fell in love with it. And four years later, we're still doing it. Recently, we've added, we all say yee-haw in unison afterwards. Yeah.
I can't tell you why, but trying to synchronize a clap via Zoom and then all shouting yeehaw. I did this in a phone booth the other day, and after I came out, someone told me, you know that those aren't as soundproof as you think, but you know, when you get a good opportunity to give a yeehaw, you kind of can't pass up on it, so.
I love these little things. Like they're so, you know, they sound so minor, but they're such important elements of team culture and tradition. And so important for PMs to find ways to just have fun and do something ridiculous. I will say it took a while to get people behind shouting yeehaw. But now that we have people doing it, you can't take it away from me. We all love it. Oh man, I called our all hands for a while, y'all hands. Feel free to steal that. You get it. You get it, Lenny. Yeah, I get it.
Jackson, this is incredible. I feel like people are going to listen to this with notebooks and just like, okay, here's a bunch of ideas we should try with whatever we're working on, whether it's streaks or not. Thank you so much for being here. Two final questions. Where can folks find you online if they want to reach out, learn more, learn more about Duolingo? I know you're hiring product managers, so share more there. And finally, how can listeners be useful to you?
Yes, you can find me on LinkedIn. That is where most of my online social media is. So Jackson Shuttleworth. And then how people can be useful to me. Yes, as you said, we are hiring. We're actually hiring for my team. Are you interested in thinking about streaks as much as we do? You know, we might be the right home for you. So please, you know, you can apply on our website. We're also hiring for a number of other product management roles. And they're all as thrilling as this work is.
And then, you know, I'm always interested about how other companies have implemented streaks and what they've learned. And so what I'd say is if you're a company who's implemented a streak, maybe in a different way than Duolingo has, or, you know, you found a whole ton of success and, you know, another vector, another element to the feature that we didn't talk about today, I would love to know more. I used to catalog basically every streak I found out there.
And as it's become more of a popular feature, it's just been hard to keep up on. So, you know, if you have interesting streak insights to send my way, I would love to hear them. I love that. A collection of all the best ways of doing streaks. Jackson, I just want to say congrats to your team and you for having so much impact. This is like the dream of a lot of PMs and teams is to see this much impact and continue to ship wins. And so congrats. Nice work. Thank you very much.
And with that, Jackson, thanks so much for being here. Yeah, thank you, Lenny. This was a lot of fun. Same. Bye, everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcasts, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lennyspodcast.com. See you in the next episode.