Dmytro Chervonyi doesn't write code for a living—he runs marketing. But like half the internet this year, he caught the vibe coding bug and started building. Over a few months, using tools like Lovable, Bolt, v0, and Claude artifacts, he shipped twelve apps: a pricing calculator, an internal dashboard, client deliverables, personal projects. All twelve are dead now. And here's what makes his post on DEV.to worth reading past the headline: every single one died in exactly the same place.
Twelve Apps, One Killer
App #1 was a pricing calculator built in Lovable—beautiful in preview, worked perfectly when he tested it. Then he needed it on his own domain, in front of a client, looking like something that belonged to him. That last five percent became a wall. The app never left the preview environment. App #3 was an internal dashboard using Bolt that ran great until it needed actual backend configuration and environment variables. He spent a Saturday copying error messages into three different chatbots before closing the tab on Sunday night. A Claude artifact produced what he calls "genuinely the cleanest thing I'd ever made"—but it lived inside a chat window with no shareable URL that survived past the conversation. App #8 handed him a Next.js repo, which for someone who runs marketing is about as useful as being handed a jet engine and wished good luck.
The Deployment Gap Nobody Warns You About
Chervonyi frames it better than most: "Building is solved." For non-developers who know exactly what they want, the creative half of software development has genuinely evaporated. AI tools can now produce working apps from natural language descriptions in minutes. But here's where the industry quietly lets you drown: "it exists" and "it's live" are two completely different states, and nobody in the demo economy is incentivized to tell you about the gap. "It exists" means it works on your screen. "It's live" means a stranger can open a URL on your domain tomorrow and it still works. The distance between those sentences is deployment, hosting, DNS configuration, environment variables—the entire load-bearing infrastructure that has a hundred years of accumulated developer assumptions baked into every comma.
The Finish Line Isn't a Working Demo
Chervonyi admits he never learned DevOps—he has a job, like the rest of us. What he did instead was get annoyed enough to go looking for whatever could bridge the gap between "works on my screen" and "here's a link someone else can open." He ended up close enough to people solving it that he became, in his words, "user zero of the fix." The real insight isn't which product solved it for him—it's that if your vibe-coded apps keep dying, you're probably not bad at building. You're hitting the one step every AI builder demo quietly skips. He puts it plainly: stop treating "it runs" as done. Done is a URL someone else can open.
Key Takeaways
- AI tools have genuinely solved the building problem for non-developers who know what they want
- Every vibe coding tool demos the happy path and ignores everything after "publish"
- Custom domains, backend config, environment variables, and hosting are where apps go to die—regardless of which tool built them
- The deployment gap is a solvable problem, but it requires looking for tooling specifically designed to bridge it
The Bottom Line
This isn't a technology problem anymore—it's an expectation management problem. Every AI coding assistant shows you the magic moment when something appears on screen. None of them show you what happens three hours later when you're deep in a config file that was never explained and the error message might as well be in Klingon. The industry knows this gap exists. Until someone makes deployment as frictionless as prompting, vibe coders will keep building beautiful apps that exist nowhere but their own screens.