The UI Patterns card deck

Card deck

UI Patterns

Design better products, faster.

Printed + digital · $129

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

Streak Counter example from strava.com

▲ 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.