Player-facing#129 of 137

Mark CXXXII

The Streak Warning

Shipped April 26, 2026

What it is

Loss-aversion banner on /dashboard that surfaces ONLY when a streak is at risk: current_streak >= 3 AND last_practice_date == yesterday-in-user-tz AND no take yet today. Fetches existing /api/streak endpoint (already serves currentStreak + longestStreak + lastPracticeDate + today + timezone via lib/stark.ts). Self-dismissible per session (we WANT the next pageview to remind again). Direct execution of the 2026-04-26 deep-research finding that loss-aversion notification copy outperforms generic reminders by ~3x (Duolingo's largest 2018-2020 engineering investment). Layers on top of the existing Mark VI.5 streak system (user_streaks table + streak_freeze_tokens + per-user-tz day bucketing) without duplicating any of it.

Share The Streak WarningPost on XEmail
Previously
Mark CXXXI · The Echoes
Next up
Mark CXXXIII · The Founding

Related — same category

See it in the product.

Every Mark exists because string players asked for it. Free demo, no card.