"You signed up for a free trial. Three weeks later, €12.99 appeared on your statement. You never intended to renew. This isn't an edge case — it's a business model."
I led the research framing and concept development end-to-end. The hardest part wasn't the design work — it was deciding which dark patterns to study. Not all of them. The ones that do the most damage to trust specifically.
I kept asking: where in the subscription journey does trust break first? Not where users complain most. Where it breaks. That question ended up reframing the entire project.
I explored multiple concepts before committing — and had to defend why the simpler ones weren't enough. The temptation was to design something visually impressive that didn't address the actual failure point.
Most subscription systems are optimised for retention, not trust. Those two goals feel aligned until they're not — and that divergence is exactly where the design problem lives.
These patterns aren't accidents — they're deliberate choices that prioritise business metrics over user autonomy. The question I had to answer: which ones actually break trust, and which just create friction?
Buried in fine print or rendered in low-contrast text. Technically visible. Functionally invisible.
Cancel buttons require 4–6 steps through buried settings flows. Designed to exhaust users into staying.
No pre-billing notification. Inertia — not active choice — drives retention.
The most sophisticated dark pattern isn't the confusing cancel button. It's the absence of a renewal reminder. It's what you don't show.
I ran a mixed-methods study with 30 participants (18–35, all active subscribers). Every participant used both prototypes — deceptive and transparent — in randomised order, completing the same cancellation task in each.
Hidden renewal terms — difficult cancellation process
✉ We'll email you a reminder before your renewal date
Clear billing — easy cancellation
Three patterns emerged from user testing. One of them genuinely surprised me. Not the finding — the mechanism behind it.
Users failed to realise subscriptions would auto-renew. This wasn't a literacy problem — many participants were technically savvy. It was an attention problem created deliberately through information hierarchy choices. The renewal information was there. It just wasn't designed to be seen.
Participants didn't just find the cancellation process hard — they inferred intent. Within 30 seconds of using the deceptive interface, participants used words like 'sketchy' and 'feels off.' That's below conscious reasoning. It's pattern recognition for untrustworthiness. The design was communicating something even when it wasn't trying to.
Users reported higher trust with the transparent interface. That part was expected. What wasn't: they also reported higher comfort staying subscribed. Transparency didn't drive cancellation — it drove informed retention. Users who could easily cancel often chose not to. That reframed the business case entirely.
I don't do this section because it looks good on a case study. I do it because it's the moment I can show whether the design decisions actually follow from the research — or whether I just picked what I liked.
I explored three distinct concepts before deciding the answer was all three, combined. The rejection decisions were as important as the selection ones.
Proactive notification 7 days before billing. Billing date, amount, and one-tap management. Nothing buried.
Addresses awareness. Doesn't solve cancellation friction or dashboard visibility.
Centralised view of all active subscriptions. Renewal dates visible. Easy cancellation access from one place.
Works — but only if users find it. Without the reminder driving them there, most won't.
Single-screen cancellation. Clear plan details, next billing date, access-until date. No confirm shaming.
Removes friction in the cancellation flow but doesn't prevent users from reaching that point confused.
The final design combines all three concepts — but as a system, not as three features. Each component triggers the next. That's not a nice UX story. It's the load-bearing structure of the solution.
7 days before billing. Date, amount, single CTA. No buried settings. The entry point to the whole system.
Centralised — active subscriptions, renewal dates, cancel buttons. Accessed from the reminder, not just from settings nobody uses.
Single screen. Plain language. No confirm shaming. What you'll lose, when, what you won't be charged. Done.
The visual difference is almost embarrassingly small. That was intentional. I didn't want to argue this required a full redesign. The gap between deceptive and transparent design is about information hierarchy and timing — not radical visual change. I had to defend that position to myself before I could defend it to anyone else.
Every design decision has a cost. I want to be specific about the tradeoffs I made, because pretending they don't exist would undermine the credibility of the work.
Reducing cancellation through friction isn't retention. It's delay. And the cost of that delay is paid in brand trust — at a much higher interest rate.
Based on 30 participants rating each interface on a 1–5 trust scale after completing the cancellation task. The confidence intervals don't overlap — this isn't noise. But it is a prototype study, not a live product. I'm careful about the distinction.
The metrics from the study are promising. I want to be careful about overstating them. This was a controlled experiment, not a live product. The real question is whether the trust gains hold at scale, over time, across different subscription categories. I don't have that data.
Clear communication prevents unexpected charges — the primary driver of support tickets and chargebacks.
Users feel respected and in control of their choices — a different kind of loyalty than friction-based retention.
Transparent renewal communication reduces the conditions that generate disputes before they happen.
Ethical design builds sustainable engagement. The data suggests this isn't a tradeoff — it's a better business model.
This project made a clearer designer out of me. It also exposed where my thinking was still soft.
I went into this treating it as a UX problem. I came out treating it as an ethics problem that happens to have a UX solution. The distinction matters. UX problems have best practices. Ethics problems require positions. I pushed for a position here — that retention through friction is a form of design harm — and I think that framing produced stronger, more coherent work than if I'd stayed neutral.
A designer who won't take a position on their work isn't a designer — they're a service provider. There's a difference.
The research reinforced something I suspected but couldn't prove before this: small decisions compound. The visibility of a cancellation button. The timing of a renewal email. The wording on a billing screen. Users don't consciously log these — but they accumulate into a feeling about whether a company respects them.
What surprised me was how quickly participants formed those impressions. Within 30 seconds of using the deceptive interface, participants were already using language like "sketchy" and "feels off." That's below the threshold of conscious reasoning. It's pattern recognition for trustworthiness.
The questions I'm most interested in now are the ones this study couldn't answer:
"Design is not just what it looks like and feels like. Design is how it works — and more importantly, how it treats people."