Why couldn’t I find a single decent dev tool to help me vibe-code a website?
by•
I’ve tried more than 10 AI website builders—from well-known platforms to startups, and from free tools to paid services—but I always end up battling endless bugs. They seem great at building an MVP, but not a genuinely polished website. Sometimes, the AI agent doesn’t even understand what I’m asking it to do. People might say my prompting skills are the problem, but when I give the exact same instructions to ChatGPT or Claude, they understand them perfectly. Am I missing something? Has anyone found a tool that actually works well for vibe coding a polished website? Someone, please help...
28 views
Replies
Probably not your prompting. The defects that separate an MVP from a polished site are mostly invisible in the source, and a model writing markup never sees the rendered page. Two from my own codebase, both of which read perfectly as code.
The public stylesheet on my site is a hand-trimmed Bootstrap subset. Of the twelve-column grid it carries exactly three classes: col-md-4, col-md-6 and col-lg-3. Write col-md-3 and it is not a narrower column, it is no class at all, so the element becomes a full-width block. Four cards across silently turn into four stacked bands. The markup reads correctly, every other row on the page is right, and reviewing the diff finds nothing.
The second one is font weights. The layout preloaded Inter 400, 500 and 600, while every h1 on the site is set in 700. An unpreloaded face is discovered only once the stylesheet naming it has parsed, so it is three hops instead of two, and the largest text is the element the metric is measured on. On the pricing page that face arrived at 916ms against 455ms for the three that were preloaded. One extra preload line moved that page from 86 to 100 in Lighthouse and LCP from 3.8s to 1.4s. Nothing about the markup changed.
No amount of instruction-following prevents either one, because neither is in the artefact the model produces. What closed the second was a check that reads the rendered thing rather than a person re-reading the source: it scans every template for the weights its headings ask for, follows each stylesheet it links, and fails the build on a weight nothing preloads. The grid one is still uncovered and got a written-down rule instead, which is the weaker answer and I know it.
So I would stop hunting for the builder that gets it right and ask instead which mistakes you can put a guard around, and how fast you can look at the actual page. The stacked-bands one was found by opening the page in a browser. Nothing reported it.