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
- Ground the model in real data and tell it what to do when data is missing.
- Treat long AI work as background jobs with visible progress.
- Make outcomes reversible, which makes users braver.
- Connect the output to the thing the customer measures, here the leads.