Bernt Roalkvam

Vibe coding solved the build. It didn't solve the content.

Vibe coding builds a site in an evening. The blog stays empty. Here is why the content job never moved, and what fills it.

Open a site that vibe coding built. It looks finished. The hero is sharp. The colors match. The layout is clean. Now click the blog. It has one post.

Click "Services". Half the text is still the placeholder copy the AI wrote. A real heading sits on top of filler text. Nobody replaced it. Nobody noticed, or nobody had time.

This is not a design problem. The design is good. This is a content problem. The site has structure. It does not have words.

You can build a real site with vibe coding in one evening now. Pick Lovable, v0, Replit or Base44, describe what you want, and a working site appears in minutes. This used to take a developer, a designer, and weeks. Now it takes an evening.

That is a real win. It is not the whole job!

One tool used to do two jobs

A CMS always did two jobs.

Job one: build the structure. The pages, the layout, the templates that every post and product page fills. This is the part vibe coding just solved, and it solved it well.

Job two: hold the content. The words. The post that says something true about your business, written for someone who might buy from you. This is the part vibe coding does not touch.

A site with job one and no job two is a shell. It is a nice shell. But people do not read a shell.

Everyone says they will add posts later

Ask someone who built a site this way what happens to the blog. You will probably hear: "I will add posts later." If you design sites for clients, you have heard this sentence many times.

Later often does not come. Studio 61, a design studio, says this plainly: on most projects, "the last 10%, the words, never quite arrives." Elementor, the WordPress site builder, names missing content as the top reason website projects stall. Not the build. The client's copy, not ready when the build is done. Thirty Four Creative, another studio, calls copywriting "the single biggest cause of project delays" they see.

Two design studios and a site-builder company, writing about ordinary website projects with real deadlines and real clients. They reach the same conclusion: content is the part that stalls a site, not the build.

Vibe coding did not fix this gap. It made the build so fast that the gap is now the only thing left. A hand-built site used to take weeks. Slow content had those weeks to catch up. Vibe coding builds the same site in an evening. The content still takes as long as it always did. Now the gap is impossible to miss.

The old problem did not go away. It moved.

People who write about vibe coding are starting to say this directly. One piece on Dev.to, from the team behind SleekCMS, calls it "the new WordPress theme problem": in a vibe-coded site, the words on the page are not held apart from the code. They sit as text inside the file the AI wrote. Change a headline, and you are back in the AI, asking it to edit that file, hoping the change does not break something else on the page.

10Web, a hosting and site-building company, describes the moment this becomes real. A business owner hands a fresh, AI-built site to whoever runs their marketing. That person asks the obvious question: where do I write the next post? There is no answer. There is no CMS. There is only a code base, and a developer, or an AI agent, standing between the marketer and the page.

A CMS was never just a database. It is the place a person with no code skill can put a sentence on the page, without asking anyone. Vibe coding skipped the developer. It skipped this too, without meaning to.

Managing an empty box is not the fix

Say you fix this the obvious way. You add a CMS on top of the vibe-coded site. Now there is a place for posts. Someone can write one, in theory.

The blank page did not go away. It moved into a form.

An empty field in a CMS is still an empty field. Someone still has to decide what the post is about, check that it is true, write it in the right voice, and put it in the box. That was always the hard part. Managing the box was not.

What Splitleaf does instead

Splitleaf's agent reads your site, the folders it has acces to, reads what your competitors publish, and comes back with two or three ideas. Each idea carries a real source: a quote, a figure, a page you can check yourself. You pick the one worth writing. Then it writes the draft.

This post is one of those drafts. The angle came from a person. The agent read the site, found the sources linked above, and wrote the draft you are reading now. This is the job vibe coding skipped, done anyway.

The build was never the hard part

Fast structure is cheap now. Any of the big vibe coding tools will give you a working site tonight. That half of the old CMS job is solved, and it will not come back as a selling point.

The other half, the part that decides whether anyone visits the site once it exists, is still there, waiting. It was always the harder of the two. It still needs to be someone's job. Or something's.

Keep reading

Recommended next reads