Dark Patterns Lab
Interfaces designed to test your patience. This time, on purpose.
Try to export a CSV, then compare the two versions. Everything here is a simulation: the credits are pretend and your choices stay in the browser. You can peek at the trick whenever you like.
The feature lottery
Pretend balance: 1500 shards
CSV export. Now a rare collectible.
Your report is ready. The feature to download it? You’ll have to draw that.



Your goal: get the CSV. How hard could it be?
The trick, if you want to peek
This lottery is rigged: it alternates dark mode and a date picker, then gives you a duplicate. The CSV never arrives. That’s the absurdity I wanted to make tangible: turning a work tool into a prize to chase. In the fair version, a normal link downloads a sample CSV.
Daily streak pressure
Loss-aversion copy turns an optional visit into an obligation.
Come back tomorrow or lose all your progress.
How it works
The demo resets your streak. The underlying work was never lost; only the reward was withheld.
An ethical alternative
Your progress is saved. Return whenever it suits you.
Artificial resource limits
An artificial allowance makes a basic action depend on payment or waiting.
No action points left. Buy more to view your report.
How it works
Access is blocked by an invented resource limit, not a technical constraint.
An ethical alternative
Open your report. Any real usage limits are explained before you choose a plan.
Artificial processing delays
A fake loading state makes a trivial operation appear more valuable.
Preparing your result…
How it works
The result was available immediately. A delay would have added no useful work.
An ethical alternative
Show results as soon as they are ready. Explain delays only when processing actually takes time.
Unreachable progress
A nearly complete progress indicator conceals an additional requirement.
Setup 98% complete. One last step…
How it works
An upgrade is suddenly required. The percentage concealed a condition instead of measuring completion.
An ethical alternative
Show the complete checklist and any paid requirements before setup begins.
Currency confusion
Multiple conversion steps make the real price harder to compare.
An export costs 40 gems. Buy 100 credits for €10; 2 credits buy 1 gem.
How it works
40 gems = 80 credits = €8. The minimum €10 purchase leaves €2 tied up in credits.
An ethical alternative
Export: €8. Show the real price and allow the exact amount to be purchased.
Confirmshaming
A decline option judges the person instead of describing their choice.
Subscribe to updates?
How it works
You declined. The wording added social pressure to a simple preference.
An ethical alternative
Use a neutral choice: “No thanks”. Accept declining without further prompts.
Obstructed cancellation
Additional conditions make leaving harder than signing up.
Manage your subscription.
How it works
The flow asks for a paid upgrade before cancellation. That condition creates an unnecessary barrier to leaving.
An ethical alternative
Provide a visible cancellation action and a clear confirmation of when it takes effect.
08 / Social engineering
Fabricated social proof
Invented activity creates the impression that other people are buying.
Simulated example
Someone nearby just upgraded.
How it works
There is no purchase record or location lookup. This message is hard-coded demonstration copy.
An ethical alternative
Use attributable evidence with permission, or omit the claim.