Alternate titles: Streaks, Activity Streak, Habit Streak.
Problem summary
Repetition is invisible, so users cannot see the habit they are building and each return feels like a new decision.
Example
▲ Strava’s “You” tab shows “Your Streak, 28 Weeks” and “Streak Activities, 77” above a calendar. Days with an activity carry a shoe icon, finished weeks are ticked in a column on the right, and the current week ends in a flame with the count. A “Share” button sits next to the month.
Usage
- Use when the product’s value comes from a regular behavior, such as exercise, learning or writing.
- Use when a missed day or week is meaningful but recoverable.
- Do not use when the behavior is irregular by nature.
- Do not use when losing a streak would create more anxiety than the habit is worth.
The card deck
Find more patterns like Streak Counter in the UI Patterns card deck
A collection of 60 User Interface design patterns, presented in a manner easily referenced and used as a brainstorming tool.
Solution
Show how many days or weeks in a row the user has done the key behavior, near the place where they do it, and make the next step to keep it obvious.
Count in the unit that fits the behavior
Daily streaks suit short habits like a language lesson. A weekly streak suits behavior that needs rest, such as running: Strava counts weeks, so a rest day does not break anything, and the count (“28 Weeks”) is still a number worth protecting.
Show the pattern, not only the number
A single number says little. Strava puts the count above a calendar where each active day carries a shoe icon, and a column of weeks on the side that ticks off finished weeks and ends in a flame for the current one. The user sees the habit, and sees the open week they can still fill.
Make the next step obvious
Put the streak next to the action that keeps it alive. If the user has to hunt for what counts, the streak becomes a source of worry instead of a reason to act.
Offer a way to recover
Let users protect a streak on a missed day, as Duolingo does with its Streak Freeze, or let them restart without losing their history. A streak that can only break creates fear.
Celebrate modestly
Mark milestones such as the fourth or the tenth week with a small acknowledgment. Save larger moments for the ones users will remember. See Success State.
Rationale
Repetition is hard to see from the inside. A streak makes it perceptible, and gives users a small, recurring reason to return: the next day or week they act, the number grows.
The pull also comes from Loss Aversion: a streak is something the user has built, and losing it feels worse than gaining one more day feels good. This makes streaks effective, and it is also why they need care.
Discussion
Habit or obligation
Streaks that turn a habit into an obligation make users act out of fear of losing a number. Habit research suggests that an occasional miss does not undo a forming habit, so design for recovery rather than punishment. Avoid “you’re behind” language, and choose a unit that matches how often people can realistically act.
A streak is not onboarding in the first minute
A streak needs a few repetitions before it means anything. In the first session, show the first step toward it, and let the counter appear once there is something to count. Strava’s streak lives on the “You” tab, away from the first run, which fits that.
Measuring it
Track return frequency, and retention after a broken streak compared with an intact one.



