Every serious AI product is racing toward the same feature: instead of returning text, return UI. Ask for a dashboard, get a dashboard. Ask for a form, get a working form. Not a JSON blob you have to render yourself — the model produces the interface directly. This is a generative UI, and it's moving from demo trick to expected feature faster than most teams' infrastructure can handle it.
Nobody's talking enough about what breaks when you actually ship this.
Three problems everyone hits, in order
1. The output is untrusted, and you're about to render it anyway.
An LLM produces HTML/JS and you put it in the DOM. That's dangerouslySetInnerHTML with a model in the loop instead of a CMS. The model can hallucinate a <script> tag, an inline event handler, a fetch to somewhere it shouldn't. Most teams handle this by... not handling it, and hoping the system prompt is a security boundary. It isn't.







