A couple of years ago, a friend recommended a new dating app that was “different from the rest.” It started with a personality test meant to improve matching, plus a few unique features. I wasn’t particularly invested, but my friend was genuinely excited, so I gave it a try.
Long story short: it was disappointing.
Like many new dating apps, there simply weren’t enough people using it. After a handful of swipes, there was no one else around. I got bored quickly and decided to delete my account. That’s when things got interesting.

To my surprise, the option to delete the account was easy to find, something many apps don’t exactly encourage. But one detail stood out: a sad face staring back at me. That’s when my journey through dark patterns really began.
Confirmshaming: making you feel bad for leaving
A sad face isn’t a dark pattern on its own. But it does have a clear intention: making users feel guilty for deleting their account and leaving the app. This is a mild example of what Harry Brignull calls Confirmshaming:
“The act of guilting the user into opting into something. The option to decline is worded in such a way as to shame the user into compliance.”
There’s even an entire Tumblr dedicated to examples like these, and once you start noticing them, they’re everywhere.
Interface interference: when buttons lie to you
After confirming my intent to delete the account — take that sad face! — I was taken to an old-fashioned confirmation screen. That’s where another design choice caught my attention. The “Delete” button was styled as disabled.
It didn’t just look inactive. It felt untappable. My instinct was to tap a bright, prominent button that was clearly designed to pull my attention… and did absolutely nothing to help me delete my account. This is one of the most common dark patterns. UXP² defines it as Interface Interference:
“Any manipulation of the user interface that privileges specific actions over others, thereby confusing the user or limiting the discoverability of important actions.”

Nagging: are you really really sure?
After confirming my decision — now for the second time — I entered a tiring flow. Screen after screen. Each one adding friction. Each one making me wonder if continuing was worth it.
Four taps. Four screens. Completely irrelevant information. All just to reach what seemed like the final confirmation. This never-ending flow is what UXP² defines as Nagging:
“A repeated intrusion during normal interaction, where the user’s task is interrupted by other actions not related to what they’re trying to do.”

Forced action and sneaking: the final boss
By the sixth time I tapped “delete,” my patience was gone. Then a modal appeared. Long text. Another question.
Why am I being asked again if I want to delete my account? Two dark patterns stood out immediately.
Forced action
The app forced me to wait 30 days for the account to be deleted, with no alternative.
“Forced action occurs when users are required to perform a specific action to continue or complete a process.”

Sneaking
If I didn’t want my profile to stay visible during those 30 days, I had to go back to settings, manually hide it, and lose all the progress I’d made trying to delete the account. No shortcut. No warning.
Worse still: during the grace period, the app kept sending notifications. If you accidentally tapped one (like I did), the deletion process was interrupted, and you had to start all over again. This is Sneaking:
“An attempt to hide, disguise, or delay information that is relevant to the user.”

Obstruction: death by a thousand cuts
All these barriers combined fall into what UXP² calls Obstruction:
“Impeding a task flow, making an interaction more difficult than it needs to be, with the intent to dissuade a particular action.”
At this point, deleting an account felt less like a user action and more like a test of endurance.
A quick recap
Here are all the dark patterns encountered along the way:
- Confirmshaming: Making users feel guilty for opting out.
- Interface interference: Visually prioritizing actions that benefit the business.
- Nagging: Repeated interruptions that derail the user’s goal.
- Forced action: Requiring unnecessary steps to complete a task.
- Sneaking: Hiding important information or consequences.
- Obstruction: Adding friction to discourage a specific action.
Why this matters
Dark patterns damage trust. And trust, once broken, is hard to recover.
Users have endless alternatives. A single frustrating experience is often enough to make someone leave and one bad review can stop many others from even trying. On top of that, customer support teams end up dealing with the fallout, trying to put out fires that could have been avoided by better design decisions.
Good UX doesn’t trap users. It respects them.

