Skip to content
← All posts

An AI website builder that won't invent a business

2 min read#ai#agents#nextjs

Notes from building Website AI at VenueX: grounding the agent in real data, running long builds in the background, and making every change reversible.

At VenueX AI I built Website AI, an agent that builds and edits a venue's website from a chat. A wedding venue's website is a promise to real customers, which makes the usual failure of language models, confident invention, a business problem rather than a quirk.

Ground it before you generate

The agent doesn't start from a blank prompt. For a venue that already has a site, it scrapes that site first (through ZenRows) and works from what is actually there: spaces, capacities, photos, contact details. The build prompt is explicit that it must not make up a fictional venue or fabricated content. If a fact isn't in the data, it stays out of the page.

Most of the quality comes from the input data, not from clever prompting.

Builds are jobs, not requests

Generating a multi-page site takes minutes. A normal request/response cycle isn't the right shape for that, so a build is a background job:

  • The editor starts it and doesn't wait for the result.
  • The worker writes a heartbeat and a progress step as it goes (planning, writing pages, generating images).
  • The UI streams that progress, so the user sees the site assembling rather than a spinner.
  • Heartbeats make it visible when a job is alive, so a stuck build can be told apart from a slow one.

Google Cloud Tasks and Redis handle the queueing and state.

Every change is reversible

An agent that rewrites a whole site needs an undo that actually works. Each build creates a full-site version, and any version can be restored in one click. That changes how people use the tool: they ask for bold redesigns because they know they can go back.

Close the loop into the CRM

A website only matters if it produces customers. Form submissions on the generated sites create leads directly in the VenueX CRM, and every lead-creation path requires a contact method, because a lead without one can't be followed up.

Takeaways

  1. Ground the model in real data and tell it what to do when data is missing.
  2. Treat long AI work as background jobs with visible progress.
  3. Make outcomes reversible, which makes users braver.
  4. Connect the output to the thing the customer measures, here the leads.