Trusted by 1.4k+ founders & product teams

Add the emotional layer,
make your features land

Each card is an emotional building block. Use them to make users instantly understand, adopt, and come back to your app.

Buy the deck

Buy once, lifetime updates

Secure payment

“Scaled our start up to $100K MRR in months”Pontus Wellgraf, Co-founder, Roots

“Impressive detail and instantly usable”Rico Beran, Founder, Northhold Capital

“Shipping faster and getting many more users”Gary Perelberg, Co-Founder, WatchTrack

The Retention stack · 61 cards

Retention: the app they come back to without being asked

Retention is whether your app earns a place in someone's life after the novelty wears off.

Acquisition fills the bucket. Retention is the shape of the bucket.

Most retention problems are not messaging problems. They are the absence of a designed reason to return, and no re-engagement email can substitute for one.

Why do users stop coming back after the first week?

Because the first visit spent all the app's surprises.

Week one ran on novelty. Week two needed a reason, and the app did not have one ready.

The apps people return to tend to hold something back: progress that accumulates, outcomes that vary, a history that grows more valuable with every visit.

Which of those mechanisms fits your product is a design decision, not a formula.

Common retention problems, fixed

The same failures come up again and again when founders describe broken retention. Each one below has its own guide: how to spot it in your funnel, why it happens, and the fix.

How do you give users a reason to return?

Build something that is incomplete without them.

A streak mid-run. A board half full. A weekly result that only exists if they show up.

The mechanism matters less than the feeling: leaving something of yours inside the app makes the app harder to leave. What your users would genuinely care to continue is the question worth sitting with.

Do streaks and gamification actually improve retention?

Sometimes, and the exceptions are instructive.

Streaks work when the underlying action already matters to the user: language practice, exercise, saving money. They backfire when they decorate an action nobody valued, because empty points read as contempt for people's time.

Before borrowing Duolingo's streak, ask whether your users want to do the thing daily at all. If not, the fix is upstream of any game mechanic.

How do you win back users who drifted away?

Remind them of what is already theirs, not of what you want from them.

A notification that says a friend acted, a summary of the progress they built, a result waiting to be seen: these replay value. A notification that says we miss you replays nothing.

The returning user should land one tap from the thing that brought them back, never on a generic home screen.

The building blocks inside the Retention stack

These are 6 of the stack’s building blocks (61 cards in total). Each building block comes as five cards: the tactic itself, covering why it works psychologically, when to use it and what to avoid, a Make It Yours prompt card, and three real app examples.

  • Variable Reward —​ Outcomes that vary keep a core action from going stale.
  • Value Replay —​ Show drifted users the progress that is already theirs.
  • Success Moments —​ Wins that feel like wins become reasons to repeat.
  • Effort Moat —​ Make invested effort visible, and leaving means losing it.
  • System Widget —​ Daily rhythm on the home screen, without an open.
  • Deep-link —​ A message that promises something lands on that thing.

There is no universal answer. Make it yours

None of the above is a rulebook, and the playbook does not pretend to be one.

Every building block ships with Make It Yours prompts: guided questions that shape the tactic around your product, your users, and your stage.

Work through them yourself, or hand them to your AI agent as context. The thinking should happen about your app, not the average app.

  • What does a user leave inside your app after a month that they would mind losing?
  • What genuinely changes between visits that could make returning feel worthwhile?
  • If you could send one notification that replays value instead of requesting attention, what would it say?

How the best apps do it

Duolingo: The streak, the leagues, the owl. Layers of accumulating progress that make missing a day feel like losing something real.

Pinterest: Boards grow more valuable with every save. A year of curation is a moat no competitor can copy.

Bumble: Matches expire. The variable outcome plus the ticking clock gives every return visit stakes.

Usually works

  • Design one honest reason to return before spending on re-engagement
  • Make accumulated progress visible, not just stored
  • Deep-link every notification to the moment it promises
  • Measure retention by cohort, not by monthly averages

Usually backfires

  • Send we-miss-you messages that replay nothing
  • Bolt streaks onto actions nobody wants daily
  • Randomise outcomes users depend on for utility
  • Treat a re-engagement campaign as a retention strategy

Questions founders ask

What is a good retention rate for a mobile app?

It varies so much by category that a single number misleads.

A daily social app and a quarterly tax app have different healthy curves. The useful comparison is your own curve, cohort over cohort, and whether it flattens rather than sliding to zero.

What matters more, retention or acquisition?

They multiply, but in most consumer apps retention is the constraint.

Paid acquisition into a leaking product buys downloads twice: once from the ad platform, again when they churn. A flattening retention curve is what makes acquisition spend compound instead of evaporate.

Which building blocks improve retention fastest?

The honest answer: the one aimed at your specific leak.

If users forget you exist, System Widget and Value Replay. If sessions went stale, Variable Reward. If nothing accumulates, Effort Moat. Diagnose before prescribing, which is exactly what the Make It Yours prompts are for.

Ask a question
Not sure where to start?Find your stack →