AI Is Extremely Good at HTML, and Maybe We Should Stop Fighting That

Time to read:

3–5 minutes

I had a slightly crazy idea.

What if we stopped fighting the fact that AI is extremely good at creating HTML and instead made it easier for normal humans to edit it safely inside WordPress?

So I built a tiny plugin called Vibe Code that makes raw HTML much easier to live with inside WordPress.

Take it for a spin here (WordPress Playground Site)

You can paste HTML into the Custom HTML block, but instead of handing clients a scary wall of code, they get a safe editing mode where they can change the words and leave the HTML structure alone.

Hear me out.

Ask Claude or ChatGPT to build a landing page, pricing section, event website, restaurant homepage, or product hero and, more often than not, the HTML is surprisingly usable. Not perfect, obviously, but often much better than many people expect.

The structure is usually decent, the styling is often perfectly acceptable, and responsive behaviour tends to be good enough. More importantly, it is fast. Really fast.

Not Every Website

To be clear, I would not build every website this way.

I would not use AI-generated HTML for large ecommerce stores, complex membership websites, massive editorial publications, or highly dynamic applications. Those things need structure, systems, and proper architecture.

But for some use cases, I think it works rather well. Landing pages, brochure websites, event sites, startup MVPs, marketing campaigns, and quick client projects all feel like reasonable candidates, particularly when speed matters and the layout is relatively fixed.

In those situations, AI-generated HTML feels like a perfectly sensible starting point.

The problem is not generating the HTML. The problem is what happens after.

The Part That Breaks

Imagine the workflow.

You ask AI to create a page. Maybe you tidy the code a bit. Maybe you tweak the styling so it feels more on-brand. You paste it into WordPress.

Done.

Except now the client wants to change the headline.

And suddenly your options are all slightly awkward.

Option 1: Give them the HTML block

Technically possible, emotionally terrifying.

Handing a client a raw HTML editor and saying, “Just update the headline”, feels a bit like handing somebody the wiring diagram to your house and asking them to replace the kitchen light. Best case, it works. Worst case, you are restoring a backup.

Option 2: Rebuild everything in a page builder

This always felt slightly backwards to me.

The HTML already works. The design already looks right. Yet somehow you end up rebuilding the whole thing inside a visual builder just so someone can change three sentences. Occasionally the builder decides to get creative with your markup too.

Option 3: Become a human copy-editing service

Most freelancers and agencies know this workflow well.

You get the email:

“Can you just tweak the button text?”

Then another:

“Tiny update to the headline.”

Then:

“Sorry, one quick change…”

Six months later you are still editing the same page.

That felt broken.

The Slightly Crazy Idea

So I built something.

Not a page builder. Not a new block. Not an AI website generator.

Instead, I modified WordPress’s Custom HTML block so clients can safely edit only the copy.

Not the layout. Not the styling. Not the structure.

Just the words.

Click a heading and type.

Need to update button text? Click and edit.

Done.

No code view. No broken layout. No mysteriously deleted sections because someone accidentally removed a closing tag.

The design stays protected while the copy stays editable. And suddenly HTML becomes much more practical.

Why This Feels Interesting

I think we are entering a slightly strange moment in web building.

AI consistently produces decent HTML, yet most website tools assume you are one of two people: either a developer who wants code, or a non-technical user who wants a drag-and-drop builder.

But there is a gap in the middle.

People who are perfectly happy generating or pasting HTML, but want a safer editing experience afterwards.

That feels especially relevant for freelancers, agencies, and smaller client websites. Build the page once, protect the design, and let clients safely change the words.

No support tickets.

No panic.

No awkward email saying:

“I think I broke the homepage.”

I didn’t plan to build this

The funny thing is this started somewhere completely different.

Originally, I thought the interesting thing was AI page generation. But the more I played with it, the clearer something became.

The valuable bit was not the generation.

It was the editing.

“AI generates a page” is a fun demo.

“Clients can safely edit the copy without breaking the design” solves an actual problem.

And maybe that is the more interesting opportunity.

Not replacing WordPress. Not replacing blocks. Just quietly making AI-generated HTML much more usable for real-world websites.

Next steps

If you would like me to tidy this up and release Vibe Code as a free plugin let me know by dropping a comment below.

UPDATE: I’ve now released Vibe Code (renamed Jamie’s Visual HTML Editor)


Comments

27 responses to “AI Is Extremely Good at HTML, and Maybe We Should Stop Fighting That”

  1. Yes Jamie! Thanks for that i advance !

    1. Jamie Marsland Avatar
      Jamie Marsland

      Roger that Jerome!

  2. Andrew Avatar

    Very interesting but I’m not sure where I’d use it.

    It is remarkably easy to create HTML pages with AI and I have done this for a simple page that sits on a server. Very simple and easy for something that isn’t updated often and doesn’t need WordPress or plugin updates to manage.

    However, if you are going to use WordPress why not use templates?

    1. Jamie Marsland Avatar
      Jamie Marsland

      Thanks Andrew – because for some situations this is easier to build out complex interactive things (e.g pricing calculators, interactive elements)

  3. interesting and very needed. It would be even GREATER if it could be used to replace image placeholders (in the html).

    1. Jamie Marsland Avatar
      Jamie Marsland

      Love the image idea Scott 🤔

  4. Hey Jamie,
    This is really, really interesting… and so simple.
    Here is another use case… If a client has a site with a page builder (Elementor) but no-longer wants to pay the subscription. Could this plugin allow them to continue to edit their old page builder content without the plugin?
    Could help clients who want to transition away from Page Builders to simpler sites or pure Gutenberg sites?

    I definitely think this is an plugin that it worth developing and sharing with the WordPress community.

  5. You call it slightly crazy idea, I call it slightly brilliant idea, even though I can now accomplish the same thing with WP 7.0 and Patterns, and before WP 7.0 I think it was called partially synced patterns. Great job !

    1. Jamie Marsland Avatar
      Jamie Marsland

      Thanks Nick – yea, this feels like the cheats way to do that (but I think that’s ok in some cases).

  6. Correction for my first comment: In the las point I meant Content Only Editing, which could have been achieved by partially synced patterns.

    1. Jamie Marsland Avatar
      Jamie Marsland

      Indeed it could – but this is somewhat easier to make (in some cases)

  7. Tom Nelson Avatar
    Tom Nelson

    Love it!

  8. I think this idea is really useful for the cases you mentioned. Client needs a page fast, but also wants to edit fast, for example. I’ve already experienced both scenarios: making an html page where I’m responsible for all the edits, or rebuilding the design in a page builder so the client can easily edit, making a ‘quick project’ time consuming.

    1. Jamie Marsland Avatar
      Jamie Marsland

      Thanks Wim!

  9. Marc Juncke Avatar
    Marc Juncke

    Hi Jamie,
    congrats on your finding and from my perspective i can totally see the Use Case in our daily life.
    So please be so kind to tidy this up and release “Vibe Code” as a free plugin.
    Thanks in advance and greetings from Germany. 🙂

    1. Jamie Marsland Avatar
      Jamie Marsland

      Thanks Mark, will do!

  10. We definitely use this in our shop! I have quite a few blocks (both human and vibe-coded) that were one-off patterns — even if I’m still the only one editing them, that would be useful!

    1. Jamie Marsland Avatar
      Jamie Marsland

      Thanks Joe, I’ll get it released!

      1. Rikki Williams Avatar
        Rikki Williams

        This is so wild. I started to build a MVP project for what I can’t say. But I use Claude to get it done in html, it’s like beating your head against the wall. Guess it would be easier if I knew something about coding. We’ll today after looking at what I started with on the website, thought to myself, how am I going to change things. You answered my thought, I need you vibe code, to do this. Saw your other chatgpt that took me here. Hope you read this comment. Thank you.

  11. Bent Fossan Avatar
    Bent Fossan

    Hi, I think this would be great as an option. A a little stroke of genius. If you do not already have done it, please release “Vibe Code”!

  12. Michael Biddulph Avatar
    Michael Biddulph

    Looks very useful – I can see a place for this in my sites. Look forward to you making it available as a plugin.

    Cheers,
    Michael

  13. This is so wild. I started to build a MVP project for what I can’t say. But I use Claude to get it done in html, it’s like beating your head against the wall. Guess it would be easier if I knew something about coding. We’ll today after looking at what I started with on the website, thought to myself, how am I going to change things. You answered my thought, I need you vibe code, to do this. Saw your other chatgpt that took me here. Hope you read this comment. Thank you.

  14. […] A few days ago I wrote an article called AI Is Extremely Good at HTML, and Maybe We Should Stop Fighting That. […]

  15. Tim in Seattle Avatar
    Tim in Seattle

    There is absolutely a place for this type of setup and plugin.

  16. WoW Wow WoW!
    Well Done! Plugin Vibe Code is amazing

Leave a Reply

Your email address will not be published. Required fields are marked *