My new course called aiforui.dev is in early access!

Emil KowalskiDesign Engineer

We treat friction as something bad. It makes us slow, inefficient, messy. Products brag about removing friction. Entire companies exist just to be “frictionless”.

And mostly, that’s right.

But friction was quietly doing a second job: it made us think before we built.

Before AI, writing code was expensive, so the cost of building imposed a higher threshold on which ideas survived long enough to be built. You had to be selective because the effort itself forced you to decide what was worth making.

AI removed that cost. Now an idea can become an app in minutes. So the bar for what’s worth building lowered drastically.

To be fair, cheap building is a way of thinking. Building option A and B and comparing them is often better validation than just theorizing about it. Prototyping is thinking.

But only if you actually validate the idea. Nothing stops you from shipping A and B, because there’s little effort in doing so, there’s no friction anymore.

That’s why people dislike the recent influx of vibe-coded apps and UI libraries. There’s rarely a thought behind them, because there’s no friction to force it.

They don’t feel designed, they just exist.1

That’s what happens when we remove friction. The only thing left is the output, it feels meaningless, empty, like there’s no texture to it.

So we still need friction. It forces us to use our judgement, and it filters out the ideas that don’t deserve to be built.

It’s a feature, not a bug.2

  1. 1This comes from a tweet by Swami which I thought fits the topic really well.
  2. 2This framing and the idea for this short article comes from a tweet by Drazen.