Skip to content
STAGING · Test data
ConsoleMy queue7

Streaks and leagues

Draft v4

What keeps a streak alive, how reminders behave, and how weekly leagues group learners. Kind by default: never shaming, never pay-to-win.

Simulate draft
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 streak
Day 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 yet

Reminders

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

LevelsLeague nameLearners in leaguesLeagues this week
1–2Curious League204,3106,811
3–4Reader League86,9002,897
5–6Analyst League17,840595
7–8Founder League1,31044
  • 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”