Streaks and leagues
Draft v4What keeps a streak alive, how reminders behave, and how weekly leagues group learners. Kind by default: never shaming, never pay-to-win.
Live · v3since 21 Jul 2026 · Jo Kim · “Second reminder only at 7+ days”
Draft · v4you · 1 unsaved change
Streak rules apply from the next 00:00 UTC. League settings apply from the next week boundary (Mon 5 Oct).
Streak rules
Qualifying actionsAny one of these in a local day keeps the streakDay boundaryLearner’s local day, 00:00–23:59. When time zones change, the more generous day wins.Streak freezes
Freezes per week: 1per week · applied automatically on a missed dayFreezes don’t stack. Freezes and streak repair can’t be bought.
MilestonesEach awards its achievement7 days30 days100 days365 days · no achievement yetReminders
learner’s local time · learners can change it in Settingsafter this, the streak badge pulses once on open if today isn’t doneSecond reminderMessage“Learn today to keep your {streakDays}-day streak.”Edit in TransactionalQuiet hours and teensReminders respect quiet hours (21:00–08:00; teens from 20:00). A reminder that would land in quiet hours is skipped, not delayed. App config
Protect streaks for a date range
Use after an outage. Applies immediately, outside config versions.≈ 18,640 streaks would otherwise break · needs step-up
- 3 Aug 2026Push delivery outage · all learners212,400 streaks protectedJo Kim
- 14–15 Jun 2026Planned maintenance · all learners198,020 streaks protectedSam Okoye
Leagues
| Levels | League name | Learners in leagues | Leagues this week |
|---|---|---|---|
| 1–2 | Curious League | 204,310 | 6,811 |
| 3–4 | Reader League | 86,900 | 2,897 |
| 5–6 | Analyst League | 17,840 | 595 |
| 7–8 | Founder League | 1,310 | 44 |
- Podium: top 3 each week earn the Podium achievement
- No demotion removes access to anything. Leagues move up by level band only.
- Teens appear as first name and initial. Anyone can leave leagues in Settings → Learning.
- Suspicious XP is reviewed in League integrity before results are final.
1 unsaved changeQualifying actions · added “Complete a simulation”