When I started building my latest side project, I thought I was solving the wrong problem.
I believed I was building a multiplayer game.
Months later I realized that almost none of my time had actually been spent on "the game."
Most of it was spent removing friction.
And that completely changed the way I think about product development.
We often optimize the wrong thing
As engineers, we naturally focus on features.
Can we add matchmaking?
Can we improve the animations?
Can we make the UI look better?
Can we support more players?
Those things matter.
But eventually I realized there was a much bigger problem.
People weren't leaving because the game wasn't fun.
Many of them never even reached the game.
Every extra step costs users
Imagine a simple situation.
A group of friends decides they want to play something together.
The conversation usually sounds like this.
"Let's play."
Simple.
Until reality starts.
Somebody needs to install an app.
Somebody has to register.
Someone forgot their password.
Someone has poor mobile internet.
Someone doesn't want another app they'll delete tomorrow.
Someone can't find the private room.
Five minutes later...
Nobody is playing anymore.
The excitement disappears long before the first interaction with the product itself.
That's when I realized something.
People weren't abandoning the product.
They were abandoning the onboarding.
Measuring time to value
Developers often measure things like:
Page load time
API latency
FPS
Memory usage
Those metrics matter.
But I started paying attention to something different.
How long does it take until the user gets the first moment of value?
Not when the application opens.
Not when authentication finishes.
Not when analytics initialize.
When the user actually experiences what they came for.
That became the metric I cared about the most.
So I removed everything I could
Instead of adding features, I started deleting steps.
Registration disappeared.
Passwords disappeared.
Searching for rooms disappeared.
Extra menus disappeared.
The goal became surprisingly simple.
Someone receives a link.
They tap it.
They're already where they wanted to be.
That single idea influenced almost every product decision afterwards.
Technology isn't the feature
The interesting part is that nobody ever mentioned the technology.
Nobody said:
"Nice authentication flow."
Nobody said:
"Cool onboarding."
Nobody cared.
Instead they said things like:
"That was fast."
Or:
"We're already in?"
That's when I realized something important.
Good onboarding is almost invisible.
If people notice it, it's probably too complicated.
The unexpected result
Originally, I thought I was building a multiplayer game.
In reality, I spent months reducing the distance between two moments:
"Let's do this."
and
"We're doing it."
Everything else became secondary.
Why this matters beyond games
This isn't really about games.
It's about every digital product.
Food delivery.
Banking.
Travel.
Social apps.
Developer tools.
Every unnecessary click introduces doubt.
Every extra screen gives users another opportunity to leave.
Sometimes improving a product doesn't require another feature.
Sometimes it simply requires removing five unnecessary clicks.
Final thoughts
Looking back, I don't think the biggest lesson from this project was technical.
It was psychological.
People rarely quit because your product is bad.
More often, they quit because reaching your product takes too much effort.
Now, whenever I build something new, I ask a different question.
Not:
"What should I add next?"
But:
"What can I remove before the user gets value?"
Ironically, the project that taught me this lesson happened to be a multiplayer poker game running as a Telegram Mini App.
But the lesson has nothing to do with poker.
It's something I'll probably carry into every product I build from now on.

Top comments (0)