
Leagues
Leagues are an engagement mechanic that gives users a reason to keep doing lessons after they've already shown up.
This page covers what makes Leagues work — a contest that feels winnable, stakes that grow over time, and reminders that keep users thinking about it every day.
01CORE MECHANIC
Weekly Leaderboards
A Duolingo league is a weekly leaderboard of 30 randomly-assigned users, ranked by XP earned over 7 days. The pool size, the random assignment, and the weekly reset are all deliberate design choices that make the competition feel fair, manageable, and recurring.

Each leaderboard is small and evenly matched. Two design choices land the leaderboard in a sweet spot. First, size: even though Duolingo has tens of millions of users, the leaderboard a user sees has only 20–30 names on it — small enough that top-five is plausible for anyone who shows up. Second, matchmaking: the system pairs each user with others at a similar pace, so someone doing 5 lessons a week isn't dropped against power users doing 100. Both choices serve the same purpose: making the contest feel winnable. A winnable contest keeps users engaged through the full week; an unwinnable one doesn't.
Seven-day leaderboards drive multi-day engagement. A streak solves the daily engagement problem; a leaderboard solves a multi-day one — committing to a goal that takes a week of effort to win. Seven days is the right horizon for that work: short enough to keep the prize visible (a user can hold a weekly goal in their head), long enough to require sustained effort (one good Monday won't carry you to Sunday). Pick anything shorter and the contest collapses into a single-day problem; pick anything longer (14 days, 30 days) and the prize fades from view as users churn out before the reward arrives. The Sunday deadline reinforces the cycle — most apps see weekend disengagement, but a Sunday-night leaderboard ends right when users would otherwise disappear. The same procrastination instinct that hurts most apps on weekends ("get it done before it's over") becomes an engagement lever for leagues.
The ten-tier ladder drives multi-month engagement. Each weekly leaderboard sits inside a larger ten-tier system. At the end of each weekly cycle, the top finishers earn *promotion* — they move up a tier and compete in a tougher leaderboard the following week. The ten tiers (Bronze, Silver, Gold, Sapphire, Ruby, Emerald, Amethyst, Pearl, Obsidian, Diamond) turn weekly contests into a multi-month climb: Bronze to Diamond is a ten-week journey at minimum. The ten-tier ladder turns each weekly contest into a step toward Diamond, and the climb itself becomes a long-term engagement driver — the reason a user keeps showing up week after week.
02PROGRESSION LAYER
Promotions
Promotion and demotion are the engine that makes the leaderboard feel consequential. Every Monday, top finishers move up a tier, bottom finishers move down, and the rest stay put — turning a weekly score into a long-running ladder of progress and risk.
Promotion Rate Across League Tiers
Tightening promotion bands pace long-term engagement. As users climb the ten tiers, fewer of them promote each week: Bronze promotes the top two-thirds (≈67% of the field), Gold the top third (33%), Sapphire the top fifth (23%), Obsidian only the top sixth (17%), and Diamond nobody at all. The bands tighten in two places — sharply at the start (Bronze through Gold) and again at the top (Obsidian into Diamond) — with a long plateau through the middle tiers. New users get fast, frequent wins that keep them coming back through the most fragile period of habit formation. Veterans face scarcity that makes the late-game climb feel earned rather than automatic. That's the engagement curve, and it's tunable: the same mechanic — promote some percentage of the field each week — produces different psychological effects at different stages of the journey, just by changing the percentage.
Demotion makes weekly engagement non-negotiable. Promotion alone would be a one-way ratchet — every week the user either moves up or stays still, and the worst outcome is no change. Adding demotion (the bottom slice of each leaderboard drops a tier) pairs the gain with a real loss. The push to climb works because the alternative is sliding back; the same XP that earns a promotion in week one prevents a demotion in week two. Loss aversion does the heavy lifting: people will work harder to avoid losing status they've earned than to gain status they don't yet have. Standing still isn't a stable option — every week, the user is either climbing or defending, and either choice requires showing up.
No shortcuts means every week matters. Even a runaway performance — top XP, blowout victory — only moves the user up one tier. There's no double-promotion: a Sapphire user who earns four times the second-place finisher's XP doesn't skip Ruby and land in Emerald. The system is engineered against shortcuts. The design implicitly rewards consistency. A user who wins by 100 XP in two consecutive weeks ends up two tiers ahead of a user who wins by 5,000 XP in one week. Every week of engagement counts equally toward the climb, which means there's no week the user can skip — even a future Diamond user has to win each individual contest along the way.
03DELIVERY LAYER
Progress Updates
Progress updates are how the league turns leaderboard standing into more lessons.

The "League Results" sequence is staged as a major Monday moment. The user can reach "League Results" two ways — directly through the leagues tab, or as part of the post-lesson sequence on Monday — and both paths lead to the same destination: a full-screen celebration of where they finished, who promoted, who demoted. The app gives the moment heavy weight — dedicated screen real estate, animated reveal, ceremony framing built around tier changes. That weight is the message: the system is telling the user *this matters*, and the league is worth competing for. The user leaves the celebration motivated to compete in next week's contest, and the lessons that follow get done with next week's reveal in mind.
Leaderboards are deeply integrated into multiple experiences. When a user advances in their leaderboard position, the post-lesson sequence triggers a celebratory animation — feedback tied directly to the action that earned it. Push notifications fire when standing changes: *"You're out of the top 5 😢. Don't give up!"* when a user falls out of the promotion zone, *"Last chance to get promoted!"* as the cycle nears its close, *"Miller Johnson took your spot…"* when a peer overtakes them. The leaderboard also gets its own dedicated tab in the bottom navigation — prime real estate alongside the lesson path itself, placement that broadcasts how vital the league is to the product. Across all three surfaces, the call is consistent: do another lesson, influence the result.
🥉 Duo's got a prize for you
12:15 PMCongrats on getting bronze! Keep it up in the Ruby League.
Miller Johnson took your spot...
7:52 AM#3 should be yours! Practice to reclaim your league medal and reward.
You're out of the top 5 😢
11:44 PMDon't give up! Keep practicing. Only the top 5 in your league move up!
🏃 Last chance to get promoted!
1:43 PMYou're on your way up to the next league. Earn more XP now!
Weekly Leaderboards
The live, in-progress leaderboard the user sees during the week — pool of competitors, current rank, time remaining, and the promotion zone marker.
Promotions
Tier-change moments — the celebration that fires when the user moves up, and the recovery offer when they slip down.
Progress Updates
The "League Results" sequence — the Monday reveal, the final standings, the demotion path, and the gem reward that closes the loop.





