Skip to content
artifx
← Case studies

Ethical retention: how to keep app users without dark patterns

Streak threats, guilt notifications and endless feeds keep people in an app for a while, then push them out for good. How Focus98 and Bloom keep users by getting them invested instead.

Focus98 on two phones: the 2005-era hardware shop and a 2010-era focus group

There are two ways to keep people in an app. You can force them: streaks that threaten to reset, notifications that guilt, feeds with no end, progress that disappears if you leave. It works for a few weeks, then people uninstall and remember why. Or you can get them invested: let them build something of their own, show it plainly, and make coming back the easiest way to keep it. That is the approach behind two products I designed: Focus98, a focus app for Android that plays like an old PC, and Bloom, a happiness app where smiling makes a flower grow.

Build stored value, not obligation

Forcing: a daily score that resets, so the only reason to open the app is fear of losing a number.

Investing: effort turns into something the user keeps. In Focus98, focused minutes become credits that buy hardware, software, wallpapers and music for the PC. Every upgrade stays, and the desktop shows what you built.

Focus98 on two phones: the 2005-era hardware shop and a 2010-era focus group

Make the reward the habit itself

Forcing: reward people for opening the app, so the app gets the visit and the person gets nothing.

Investing: the benefit and the behaviour are the same thing. In Bloom, “Smile to play” keeps music or a video playing only while you smile, and the lotus grows from bud to full bloom with the time spent smiling. The interactive prototype of this flow was A/B tested before the final UI design.

Bloom screens: the lotus progress dial growing in three stages

Let a lapse cost the state, never the savings

Forcing: punish a missed day by wiping progress or charging the balance. People who lose what they built rarely come back to rebuild it.

Investing: show the cost honestly and keep what was earned. In Focus98, distraction and time away slow the PC down: disk errors, a defrag to run, and eventually a blue screen. Credits are never taken, so a bad day becomes a repair job, not a reason to quit.

Focus98 on three phones: retro antivirus and spyware scans, a certificate of achievement for a new wallpaper, and the FocusMart music shop

Give people a road, not a streak to protect

Forcing: a streak as the main goal, with countdown warnings before it breaks. A broken streak is one of the most common moments to give up.

Investing: goals that outlast a missed day. Focus98 has four eras to unlock, from a 1998-style desktop to 2010, plus achievements with certificates. Bloom has levels and “smilestones”. A missed day pauses the count but keeps the road ahead.

Let people leave, and plan to come back

Forcing: treat every absence as churn: “We miss you” pushes, guilt copy and a hard-to-find sign-out.

Investing: respect breaks. Logging off in Focus98 freezes the slowdown for a planned break, and Bloom’s reminders use a message the user writes. Focus98’s focus groups add a bonus only while friends work together, so the social pull is shared effort, not a feed to scroll.

Test it before you build it

Retention mechanics are easy to get wrong in a spec and quick to judge in a clickable prototype. Put the core loop in front of people early: do they come back because they want what they built, or because the app nags them? That question belongs in MVP design, before the first sprint.

Ethical retention lasts longer because nobody is trying to escape it. More on how I approach this in app design, interactive prototypes, MVP design and UX audits.

Questions about this work? Let’s talk it through.

Set a meeting

Let’s talk it through

30 minutes on Google Meet, at a time that suits you.

Set a meeting

Set a meeting

Book a call in an open slot, or just send a message.

What is it about?
Pick a time

Choose a day