The gap that kills generated designs
A language model will produce a genuinely good layout. Ask for a hero with an off-center composition, a card row that breaks asymmetrically and a considered type scale. What comes back is markup and styles that look right in a browser.
Then somebody has to turn that into a website a business can actually run, which is where the gap opens. The layout is a static artifact. A business needs pages editable by non-developers, content living in a system, navigation that behaves like navigation, plus a structure somebody can extend next year. Bridging that gap by hand consumes exactly the time the generated design was supposed to save. That gap is why so many AI design experiments end as screenshots in a folder.
Classification rather than recognition
The protocol closes it with a step that reads a design and describes it in terms a content platform understands. What matters is that the pass never needs to recognize your design. It does not look for a hero it has seen before, or match against a library of known patterns, because a system built that way fails the moment somebody draws something new. Instead it types every element and writes the manifest the platform reads.
That distinction decides what a designer is allowed to consider in the first place. When recognition is required, the safe move is to draw what the tool will recognize, which is how generated designs converge on the same handful of shapes. When typing replaces recognition, an unusual navigation metaphor stops being a fantasy and becomes a decision.
The vocabulary is closed, the composition is open
Two properties have to hold at once, and holding both is the whole trick. Composition stays open, so a designer or a model can arrange anything they like. The vocabulary the platform reads is closed, drawn from a defined set that can be checked mechanically. Output that does not conform is rejected by the system rather than by somebody’s attention.
For generated designs specifically, that constraint is what makes the output trustworthy. A model producing markup against a closed vocabulary cannot invent a region type nobody supports, because the schema will not accept one.
"The creativity lives in the composition, where it belongs, while the parts a machine must understand stay predictable."
Use whatever produces your best work
The ingestion contract is narrow, which is what makes it broad in practice. Because markup and styles are the only entry requirement, the design source is genuinely interchangeable. Generate it in one model this year and a different one next year, or have an agency draw it. Adapt something you already own, or hand-code it. Nothing downstream changes, and no part of the pipeline develops an opinion about which tool you should be using.
That matters more than it first appears. Design tooling is moving quickly enough that any commitment made today looks unwise within eighteen months, so the sensible position is to commit to none of them.
What a designer stops having to consider
The practical effect is a shorter list of compromises before anybody draws anything. Scroll-driven behavior becomes available, as does asymmetry, a canvas-driven hero, or a type system with real optical adjustment. No modules were added for those things. There are no modules at all. There is the design, and there is a build discipline that renders it.
Where import work connects
The manifest produced by classification is covered in composer blueprints, the platform-agnostic method around it is covered in any design, any CMS, and the design possibilities it opens are covered in unconstrained front end.
How the engagement runs
Import work happens through screen shared working sessions, usually starting with a design you already have so you can see what comes out the other side. If you have generated designs you liked and never shipped, the bridge was the missing piece rather than the design.