Four independent axes — structure, surface, scale, density — compiled into a build-ready frontend specification. 48 × 50 × 8 × 8 = 153,600 combinations, plus 100 ready palettes.
What is being built. This drives every piece of copy in the generated document.
Three main tokens drive everything; two optional tokens cover surface and support. No gradients unless the chosen style requires them.
The skeleton: where navigation lives, how the hero is built, the rhythm of sections, the footer, the scroll model. This is what actually makes two sites look different — style alone only repaints the same page.
The seed picks a blueprint deterministically — change the seed for a different architecture.
Colour handling, typography personality, shape language, depth model and motion character — applied on top of the layout you picked above.
The seed picks a style deterministically. Excluded styles are skipped.
Anything not in the list — the model writes a full style card for it.
Drives both auto-pickers. Same seed → same result.
Two more axes that change a site as much as layout does. Scale is how big the elements are; density is how much is on the page at all. A compact/bare site and a generous/maximal one share nothing — even on the same blueprint.
Scope switches for the generated specification. Dashboards and internal pages are never generated.
Off: you get the compiled template. On: the template is sent to a model and the final prompt.md is streamed back live.
The document is long — don't go below ~16000.
The request goes straight from your browser to the provider. If it fails with a network error, the provider is blocking browser-origin calls — put a small proxy on your own domain and point the base URL at it.