How this growth loop worked
A learner opens the app and finishes one short lesson. That completion extends a streak: a running count of consecutive days practiced. The streak becomes something to protect, so the app schedules a reminder tied to it. Next day the notification arrives, the learner returns to keep the streak alive, and finishes another lesson. Each cycle's output, a longer streak plus a queued reminder, becomes the next day's reason to open the app.
The streak works because it converts a fragile intention into a tangible thing you can lose. Every completed day raises the cost of breaking the chain, so the loop pulls harder the longer someone stays. This is engagement, not acquisition, so it recruits no one on its own. Its payoff is keeping learners you already paid to acquire, compounding retention and lifetime value while lowering the blended cost of each active user.
Find the one action that gets harder to abandon each time it repeats, then place a trigger right before the user would drift away. Duolingo's reminder lands because it defends something the learner chose to build, not because it interrupts. Judge each cycle by whether it lifts the odds of returning, not by raw opens. A retention loop won't fill your funnel, but it decides whether your acquisition ever earns its money back.