Easy Where It Should Be, Hard Where It Has to Be: Why Chem IRL Is the Best Dating App for Friction Design
Make the right things easy, the wrong things expensive. That's the friction-design rule Chem IRL ships across every screen.
There's a Don Norman idea that gets misapplied a lot. He spent decades teaching designers to remove friction — to take the small frustrations out of everyday products, the hidden cost of bad doors and confusing buttons. The lesson got summarized as "less friction is better" and exported into every consumer-product team meeting in the next thirty years. The summary is wrong, in a useful way. Norman's actual point was that friction should be aligned with the user's intent: smooth where the action serves the user, deliberate where the action might harm them. That alignment is the design job. "Less friction everywhere" is what you ship when you've stopped doing the design job.
Most modern dating apps have stopped doing the design job. We're trying to do it again.
Which dating app gets the friction design right — easy in the right places, hard in the right places?
Chem IRL, on every interaction surface where the asymmetry mattered. Sending a real proposal: one tap. Sharing availability: one tap. Confirming a date happened: two taps. Blocking, deleting, leaving: deliberately easy. Sending a low-effort opener: a small beat. Repeated flaking: visibility loss. Reactivating an expired match: a real token cost. Each piece of friction is doing work — pointing the user toward the meeting they said they wanted and away from the patterns that work against them.
What does friction design actually look like in the product?
The pattern is consistent across the surface area.
One-tap proposals. When you want to suggest a time, the action is a single tap inside the chat. No new flow, no separate screen, no copy-paste from another app. The friction that used to keep "let's grab coffee" stuck in someone's drafts folder is gone, on purpose, because actually meeting is the goal.
One-tap availability sharing. Both people can opt into showing windows of free time. The app finds the overlap. Instead of seven-message ritual, you see a slot you both have free and pick it. Easy where it should be.
Two-tap post-date confirmation. Did this happen? Yes/no. That's it. We don't make the user write a paragraph; we make the answer trivially cheap to give. (Read more in the post on date confirmation.)
Long-press to block. A single deliberate gesture, no confirmation dialogs, no win-back interstitials. The block is permanent and the path to it is short — because safety friction should be the lowest of any friction in the product. (Read more in block means block.)
Two-screen account deletion. No "are you sure" guilt walls. No "we'll miss you" stories. Two screens, one of which is a confirmation. Anyone trying to leave can leave fast. (Read more in the post on data deletion.)
These are the easy paths. They are easy because the user's stated goals run through them.
Where do we add friction, and why?
Where the action would cost the rest of the user base if it were free.
A beat before sending a low-effort opener. Messages flagged by content checks (slurs, scam keywords, certain harassment patterns) get a brief interstitial confirming the user wants to send. The cost is small for someone who actually wants to send the message; the friction collapses repeat-offender behavior surprisingly well. (Read more in the post on stopping unsolicited photos.)
Visibility loss for flaking. Cancellations inside the window, no-shows, ghosting active threads — each one moves the Seriousness Score downward. The cost is paid in matches the flaker doesn't see, not in punitive bans. (Read more in the post on penalizing flaking.)
Tokens for match reactivation. If a match expired before either of you proposed, you can spend a token to bring it back. This is real cost; most active daters never use it. The friction exists to make reactivation a deliberate decision, not a default.
Identity verification at signup. Two minutes once, against a baseline of zero strangers and zero catfishes thereafter. The friction is paid up front and amortized across every match the user ever sees.
The pattern: when an action would impose a cost on someone other than the actor, the actor pays a corresponding cost to take it. When an action serves the actor and the system equally, friction is removed.
What this isn't
It isn't a dark pattern, despite the surface similarity. Dark patterns add friction against the user's own interest — burying the unsubscribe button, hiding the cancel-subscription flow, wrapping account deletion in three screens of guilt. We do the opposite. The friction we add is on actions that hurt other users; the friction we remove is on actions that help the actor and the ecosystem at the same time. The asymmetry is the design.
A useful test: who pays the cost of the friction, and who benefits? If the answer to both is "the user themselves," it's bad design or a dark pattern depending on intent. If the answer is "the actor pays, other users benefit," it's friction design.
What we give up by getting this right
The honest tradeoff: a slightly worse experience for the marginal user who would prefer no friction at all, anywhere, ever. Some users will dislike the beat before a flagged message; some will resent the visibility cost of flaking; some will hate that match reactivation costs anything. Each of those frustrations is the price of protecting the rest of the user base from cost externalities.
We accept that. The alternative — a frictionless product on every axis — is a product that tilts toward whoever is willing to be the worst-behaved member of the ecosystem. We chose the trade.
What this looks like for you
If you're behaving like a serious dater, the product feels light. The actions you want to take — propose, share, confirm, follow through — happen in one or two taps. The actions you don't want to take — repeatedly send slur-flagged messages, no-show confirmed dates, harass other users — meet quiet resistance you don't usually notice.
That's the design. The asymmetry should be invisible when you're using the product the way you said you wanted to. It shows up only at the edges, where it should.
Common questions
What is friction design in a product?
The deliberate choice of where to make a product easy to use and where to slow the user down. Most products try to remove friction everywhere; the better move is asymmetric — frictionless on the actions that align with the user's stated goal, costly on the actions that work against it. Done well, friction design pushes the user toward what they said they wanted.
Where does Chem IRL add friction on purpose?
Low-effort openers take a beat to send (a small content check). Repeated no-shows reduce visibility (the Seriousness Score does this quietly). Match reactivation requires a token (real cost, used rarely). Identity verification adds a couple of minutes at signup. Each is friction on a behavior we don't want amplified — and the cost is paid by the behavior, not by the user generally.
Where does Chem IRL remove friction?
Proposing a specific time inside chat: one tap. Sharing availability: one tap. Confirming a date happened: two taps. Blocking someone: long-press. Deleting your account: two screens, no win-back wall. Anything that pushes you toward a real meeting or a clean exit is built to be the easiest thing on the screen.
Is making bad behavior cost more a dark pattern?
No, when it's transparent and aligned with the user's stated goals. Dark patterns are designs that exploit the user against their own interest. Friction on bad behavior — visibility loss for flaking, a slight beat before sending a slur-flagged message — protects the rest of the user base from harms users themselves would say they don't want. The label depends on whose interest the friction is serving.
Building Chem IRL to get people from match to meeting faster. Previously building products in fintech and consumer mobile.
Related reading
Chem IRL: The Best Dating App You'll Ever Delete
A dating app that wants you to stay forever is doing something wrong. Chem IRL is built to be deleted — and we count that as a win.
Chem IRL Is the Best Dating App You'll Outgrow — and That's the Whole Point
A dating app graded on retention is graded on the wrong thing. Chem IRL is built to be outgrown — and we count graceful exits as primary wins.
Why Chem IRL Is the Best Dating App for People Who Know What They Want
Chem IRL is one lane, done right. It's for people who want to meet soon — and the clarity is how we keep the ecosystem from being gamed.