Aleksej Vukomanovic

Building SaaS in 2026: Are you vibecoding your own product or engineering it the "old way"?

by

I've been a professional developer for 10+ years (WordPress ecosystem, and React, TypeScript, Node, the whole stack).

Now I'm building my own SaaS and I'm genuinely torn.

On one hand, I could vibecode the MVP in a weekend with Cursor + Claude and ship fast. On the other hand, I keep catching myself doing things "properly" — writing tests, setting up CI/CD, structuring the codebase like it'll need to scale to thousands of users… for a product that has zero users right now.

I've noticed a weird pattern among senior devs I talk to:

We over-engineer MVPs because we know what bad architecture costs later - but that same instinct is killing our speed to market.

Meanwhile, non-technical founders are shipping with Lovable and bolt in days and getting real feedback while we're still debating folder structure.

So I'm curious:

If you're an experienced developer building your own product:

-> Are you letting yourself vibecode the MVP, or are you engineering it "properly" from day one?

-> What's the one thing you refuse to cut corners on, even for an MVP?

-> Have you shipped something vibecoded and then regretted (or NOT regretted) the technical debt?

Would love to hear from both sides. I think there's a middle ground here that nobody's really talking about.

207 views

Add a comment

Replies

Best
Devon Kelley

I vibecoded the initial prototype and then went back and re-engineered the parts that actually matter. That's the middle ground nobody talks about and I think it's the right answer for most technical founders.

The thing is, agentic coding is inevitable. The product scales, the economics usually don't. So the question isn't vibecode vs engineer, it's which parts need to survive contact with production and which parts just need to exist. I vibecoded everything that isn't core infrastructure and I don't regret a single line of it. Speed to feedback is everything when you have zero users.

The one thing I refuse to cut corners on: anything that touches reliability in production. Bad architecture you can refactor. Bad reliability habits you carry into your production system will kill you.

hiba trifi

@devon__kelley when your product actually starts getting users, how do you usually handle the hosting and infrastructure side if traffic grows or something breaks?

Mikita Aliaksandrovich

I’m increasingly convinced the right move is: engineer the core, vibe-code the edges.
Protect the critical path, tracking, and anything expensive to rework - but don’t build a “Series A codebase” for a product with zero users.
That balance is probably where most strong MVPs live.

Bhavin Sheth

I have started vibecoding MVPs but keep one rule: the problem must be validated before the architecture is — refactoring later is cheaper than building the wrong thing slowly.

Aleksej Vukomanovic

@allinonetools_net That’s a great way to frame it.

I’m realizing the biggest early risk isn’t technical debt — it’s product debt from building the wrong thing for months.

Refactoring code is painful, but refactoring a whole idea is much worse

Alexey Glukharev

You can still vibe code, but in a more disciplined engineering way: step by step, with a plan, architecture first, and create MD files with the whole plan when needed.
Start with the architecture, ask for tests first, think through the test cases, and verify the results. Use AI like a junior or mid-level engineer, and also as a brainstorming partner when you’re the only one in the room. That approach works well for me.
The key is not to ask it to build the whole thing at once, but to move step by step - just like you would when delegating to your team.

Sai Tharun Kakirala

Great question. We are building HelloAria (an AI productivity app for iOS) and honestly we use a hybrid approach. The core architecture and critical user-facing features are engineered properly, but for rapid prototyping of new ideas and internal tools, vibe coding with AI has been a massive time saver. The key is knowing when to switch modes — vibe code the MVP to validate the idea, then engineer it properly once you know it works. 10+ years of dev experience is actually a superpower here because you can spot when the AI is cutting corners.

Mykola Kondratiuk

I have 5 shipped products and I still wrestle with this on every new one. My current take: vibecode the UI and happy-path flows, engineer the parts that are hard to change later (auth, data model, billing). The test suite can wait, the schema really can not.

The over-engineering trap is real. I spent 3 weeks setting up a "proper" backend for a tool that got 12 users and died. The next one I vibed in 3 days and it has actual paying customers. The difference wasn not quality - it was whether I got real signal before investing.

The one thing I refuse to cut corners on even for MVP: how data is stored. UI is replaceable. A messy schema with years of production data on top of it is not.

Monk Mode

Both. I vibecoded a native macOS app (TokenBar, tracks AI spending across providers) and the answer is really "it depends on the layer."

Architecture and data flow: old way. I designed how the app talks to 20+ different AI provider APIs, how data gets cached locally, how alerts trigger. Claude is not great at system-level decisions that require understanding the full picture.

Implementation: vibecoded. Once I knew WHAT to build, Claude wrote most of the Swift/SwiftUI code. Parsing API responses, building UI components, handling edge cases. This is where AI coding shines.

Testing and debugging: mix. Claude catches obvious bugs but I still found most of the subtle ones myself. Especially around rate limiting and auth token refresh logic.

My take: vibecoding is not replacing engineering. It is replacing typing. The thinking part is still on you. If you skip the thinking and just let AI generate everything, you get a product that works in demos but falls apart with real users.

Monk Mode

Both. And I think that's the right answer for most people building in 2026.

I recently shipped a native Mac app (Swift + SwiftUI). The core architecture, data layer, and performance-critical code I wrote "the old way" because AI still struggles with complex state management in native apps. But for boilerplate, UI layouts, and utility functions? Claude and Cursor handled probably 40% of that.

The pattern that works for me: architect it yourself, scaffold with AI, then review and refine everything. Vibecoding the whole thing end-to-end leads to fragile code that breaks the moment you need to change something. But refusing to use AI at all means you're shipping 3x slower than your competitors.

One thing I've noticed: vibecoding burns through API tokens fast. Like really fast. A heavy coding session with Claude or GPT-4 can cost $5-10 in API calls alone. I started using TokenBar (tokenbar.site) to track this because I was genuinely shocked at how much I was spending on AI tools per month. Turns out it was more than my hosting costs.

The "old way" isn't dead. It just has a much more powerful copilot now.

Janne Vakkilainen

I´ve vibecoded my first product launching next week using Claude. Now my project has such complexity that there was no way of doing it before Opus 4.1 came up. I´ve used Opus 4.1 with Sonnet 3.5 and Sonnet 4.5 and later Opus 4.5 and Sonnet and after Opus 4.6 I only use Opus since the stuff Im doing Is so complex and novel that anything I do with Sonnet even when planned with Opus 4.6 always ends me in a debug cycle so now its Opus only.

And actually Opus 4.5 solved an architectural problem that 4.1 just couldt do and what would have taken the project to the scrap heap in a normal corporate setting. Such a complex task that it would probably have been impossible for a human team to solve it at all.

Ive done something in 7 months that would have taken a team of 10-25 from 3 to 5 years to build with a budget of 25-50mil ( in traditional organization ) so I believe that in the future one human context (one person) and one AI is the team that beats any big team of humans and actually I´ve seen that most people with developer and coding background actually perform worse with coding with AI because of the resistance to give up on writing and looking at the code.

Interesting where this takes us. All the projections assume that the big players will take the prize and that feeds the future projections of where this takes humanity. We don´t even know what sort of breakthroughts we get with one human + one AI teams that build something 1000x speed and actually come up with novel solutions that no big organization would ever have vision for.

Like one of the Google engineers developing Gemini 3.1 said at Greg Eisenberg's YouTube video that only the imagination is the limit.

Stan Kolotinskiy

The framing of "vibecoding vs engineering" assumes you're choosing one mode and sticking to it. In practice I switch constantly. AI takes the grunt work, I take the decisions that matter. Also, sometimes I might decide to postpone some decision that seems "proper" to me if I don't have the feeling that this is important. That being said, having a perfect codebase is not a goal in itself to me.

12
Next
Last