The job
“Our users describe what they want. They should end up with a page that exists at an address — not a download, not a draft, not a to-do for someone on our side.”
The gap between a generated page and a published page is where most “AI website” features quietly stop. Producing HTML is the easy part; a bucket has to exist, hosting has to be switched on, files have to land, DNS has to point somewhere, and someone has to own the failure when step three works and step four doesn’t. That plumbing is why the feature usually ends as a ZIP file.
What Forge does
One run, from a sentence to an address:
The designer turns the description into the actual page.
The publisher does the unglamorous half: creates the storage bucket, enables static-website hosting on it, uploads the files, and upserts the DNS record so the subdomain resolves. Cloud credentials are resolved server-side and never enter the model’s context — the same rule as everywhere else in Forge.
The run returns the URL, and because it is an ordinary workflow run it also leaves the ordinary record of how it got there.
Why this shape matters
It is an API, not a page in our dashboard. One POST starts a build; the run is polled for its outcome. That means the capability does not have to be our product feature — it can be yours. A product that collects a description from its own users can hand them a live site without running storage, DNS or a build pipeline.
Tenancy is carried by the calling token, so one tenant’s sites are separated from another’s by construction rather than by convention.
Honest state
Shipped and smoked live: brief → generated site → bucket and hosting → upload → CDN with a certificate for HTTPS → DNS → a working URL, plus listing revisions, rolling back to one, and deleting a site.
The live smokes are where it got real. They caught four defects unit tests could not have: a cloud API that demanded a different content type, a tool registered on one execution path but not the other, three missing IAM grants, and an enum that had to be uppercase. A green build is not a working pipeline — which is why we smoke against the real thing before calling anything done.
The cloud is Yandex Cloud, and it is the only adapter written. Object storage, CDN and DNS all go through it, in production, today; the workflow shape is not specific to it, but the other adapters are not written yet. Very large multi-file bundles hit a request-size ceiling we have not lifted. Certificate propagation at the cloud’s edge can take hours on a fresh domain — that one is theirs rather than ours, but it is real and worth planning for.
Under the hood
- Workflow Engine — the two-character chain behind the run
- Secrets & Egress — why cloud credentials never reach the agent
- Media Generation — imagery for the page, through the same gateway
- Git-Backed Audit — what was generated and deployed, recorded