Skip to content
Bernardo

Product · February 11, 2026 · 4 min read

How I think about building an MVP without building a mess

Speed and maintainability aren't opposites. The constraints I use so a six-week MVP doesn't become a six-month rewrite.

Every ambitious project starts with a list, and the list is honest — all of those things will eventually matter. The mistake is building them in parallel: everything half-done, nothing good to use, and the launch date drifting while the codebase gets harder to change.

The alternative I've settled on is a loop, not a feature list: one complete path a user walks, from arrival to the moment the product earns their trust. Build the loop. Polish the loop. Ship the loop. Let real usage decide what loop two is.

Quality is the scope multiplier

A small product that feels solid creates more momentum than a large one that feels approximate. Users forgive missing features; they don't forgive feeling like beta testers. The polish budget isn't vanity — it's the difference between a product that spreads and one that stalls.

The trick is directing that polish at the loop. Polishing features nobody has asked for yet is how teams feel productive while building the wrong thing.

What I cut first

Admin panels become scripts. Permissions become conventions. The second content type becomes a future feature. Every cut is a bet that the core, done well, is enough to learn from — and in my experience it almost always is.

What I refuse to cut is the part users touch and the part the next developer will read. A small codebase that a stranger can navigate is worth more than a large one that only its author can change.

Thinking about something like this?

Let's talk about your project