Good Software Earns Your Return. Bad Software Blocks Your Exit.

· Petar Ceklic

Good software earns your return.

Bad software blocks your exit.

I tried to cancel my son's Revo membership months ago. They're still charging me.

The app does everything except let you leave

The app does almost everything. It scans you into the gym. It tracks your streak. It sells you a shake on the way out.

The one thing it won't do is let you leave.

There's no cancel button in the app. There's a form, or a phone call, or a notice period, or some combination they don't make obvious until you go looking for it. And here's the tell: an app that can take your money on a schedule can obviously stop taking it on a schedule. The capability isn't missing. The permission is.

The cancel button isn't absent. It's withheld.

That's a dark pattern, and it's a decision

A dark pattern is an interface designed to get a result the user wouldn't choose if the choice were made plain. Easy to get in. Quietly hard to get out. Nobody draws that asymmetry by accident. Someone decided the signup would be one tap and the cancellation would be a maze.

That's the part worth sitting with. This isn't a bug, or an oversight, or a feature that just hasn't shipped yet. It's a choice that took design effort to build and more design effort to hide. The friction is the product.

I design business software for a living, and you can always tell when friction was engineered rather than left behind. Engineered friction has a direction. It runs smooth in the direction that makes money and rough in the direction that costs it.

It pays, so it spreads

These patterns propagate because they work on a spreadsheet. Trap enough people for one extra billing cycle and the retention chart goes up and to the right. The growth team gets to show the chart. The pattern gets copied by the next company that sees it.

But profitable and fair were never the same thing. A metric can improve while the thing it was supposed to measure gets worse. "Retention" was meant to measure whether people wanted to stay. Block the exit and the number still climbs, except now it's measuring how many people you've stopped at the door.

This is the same gap between a number going up and a product being good that wiped two trillion dollars off SaaS valuations. For years a lot of products optimised the metric instead of the thing the metric was standing in for.

Look at what the trap actually buys you

A few more months of payments from someone who already left in their head.

That's the entire prize. Not a customer. Not an advocate. A person counting down to the day they finally escape the billing cycle, getting angrier each month it doesn't end.

And look at what you pay for it. The one thing you don't get back.

Trust.

A trapped user isn't a retained one. They've just been stopped at the door. The relationship was already over; now you're only arguing about the exit fee. When it finally ends, they leave with a bad taste, and they don't keep it to themselves. They tell the group chat. They leave the review. They warn the next person who asks.

I stay booked out because clients come back and refer me, and that only ever happens because leaving was always easy. The freedom to walk is the thing that makes staying mean something.

The smart teams build the easy exit first

Real retention was never a locked door. It's someone choosing you again when they had every opportunity not to.

So build the easy exit before you're made to. Regulators are catching up to subscription traps, and "everyone does it" has never survived contact with a refund mandate or a bad press cycle. But the legal risk isn't even the main reason. The main reason is that an exit you're proud of is a marketing asset and an exit you're hiding is a liability waiting to go public.

Make cancellation one tap. Make it obvious. Let people go cleanly, and a surprising number of them come back, because the lasting memory of your product is that it treated them like an adult on the way out.

The best retention strategy is the same one Sora forgot: give people a reason to come back tomorrow. Not a reason they can't leave today.

---

Get in touch

👋 Hello - I live in sunny Perth, Western Australia.

If you've got a project in mind, let's talk! We can grab a coffee in person or if it's easier, simply book in a Google Meet and we can jump on a call.

Petar Ceklic