For most of my career, my job was to remove things. Remove clicks, remove steps, remove loading time, remove any sliver of friction between a user and the thing they wanted. That's what great engineers do, right? Optimize the path. Compress the funnel. Make it effortless.

So when I started building my own product and put on the product/founder hat, I carried that instinct with me. And slowly, painfully, I had to unlearn a lot of it.

"Reducing clicks" was my signature skill

Here's what broke my brain the most.

I genuinely believed fewer clicks was the goal. To get there, I'd cram everything into tighter spaces. I once designed a checkout that asked for address, payment method, and cart items review, all in a single page. Efficiency!

I traded clicks for cognitive load, and cognitive load is the thing that actually kills conversions, or even leads to mistakes.

The lesson, which took embarrassingly long: more screens is fine. A wizard that asks one thing at a time beats one screen that asks five things at once. Users don't mind clicking Next, or Back. They don't mind scrolling — scrolling might be the most familiar gesture they have. Familiarity is worth way more than a click count. And once you do split a flow, just give people a way out, a sense of where they are, and saved progress they can come back to. For onboarding, don't lock people out until setup is done — turn it into a checklist they chip away at while already using the app.

Familiarity beats perfection

I used to locate context menus everywhere even for decisions that needed some thinking. You tap a button in the top part of the screen, and the options appear there. It feels very utilitarian, but it's better to give users a bottom sheet.

A grocery store isn't a boutique

Here's where it gets interesting. The same component can deserve two opposite designs.

Take Add to Cart. In a grocery app — fast decisions, lots of items — the +/- quantity control belongs right on the row. People are throwing things in a basket; let them throw. But in a lifestyle shopping app, people actually want to open the product, look at it, think about it, then add it. Putting Add to Cart on the preview row there isn't a feature, it's noise. And they're rarely buying ten of anything, so quantity doesn't even need +/- on the surface — tuck it into a bottom sheet for the rare case they want two.

Same goal (sell the thing). Same component (Add to Cart). Opposite design, because the moment is opposite. It comes down to intent — how much the user wants to slow down and decide. The engineer in me wanted one "best practice" answer. There isn't one. There's only match the friction to the moment.

"I have to be unique and disruptive. I have to be perfect before launching."

Building a SaaS — or an app, or a website — is just like opening a shop.

There are a million coffee shops in the world. Many of them are nearly identical: same beans, same machines, same menu on the wall. And yet new ones open every day and survive. Not because they're the only one, but because they're in front of the right people. Someone walks by on the way to work, and that's enough. Exposure beats uniqueness, every time.

That reframe killed my perfectionism. You don't need to be the only shop. You need to be a shop, on a street, where people walk by. "Ship something good, now, and get it in front of people" beats "build the one-of-a-kind perfect thing, someday," every single time.

So

Stop counting clicks. Start matching friction to the moment. And stop waiting to be the only shop on the street — just open your doors.