A curated list of resources for AI-generated user interfaces — systems where LLMs dynamically create, compose, and render UI components.
124
12 commits
updated Aug 14, 2026
A curated list of resources for AI-generated user interfaces — systems where LLMs dynamically create, compose, and render UI components.
Generative UI represents a paradigm shift from "AI assists coding" to "AI generates interfaces directly." Instead of writing components, you describe what you need and the AI produces a working UI.
Generative UI is the practice of using AI models (typically LLMs) to dynamically generate user interface components at runtime, rather than having developers hand-code every interface.
| Dimension | Traditional UI | AI-Assisted UI | Generative UI |
|---|---|---|---|
| Primary workflow | Developers hand-code components | Copilot helps developers write code | Model generates UI components from intent |
| Developer involvement | High (author everything) | High (developer in the loop) | Lower per UI (developer sets constraints) |
| Runtime behavior | Static UI | Static UI (generation happens in dev) | Dynamic / runtime-generated UI |
| Typical output | Source code | Source code | Components, schemas, or rendered UI |
| Best for | Predictability, control | Faster delivery with human oversight | Personalization and rapid UI composition |
Generative UI enables personalization at scale, rapid prototyping, and natural language interfaces (e.g., "Show me sales by region" produces an actual chart), while reducing development time by shifting effort from implementation details to intent.
Challenges include Consistency (generated UIs may look different each time), Performance (generation takes time; streaming helps), Safety (arbitrary code generation has security implications), and Hallucination (AI might generate components that don't exist).
A predefined set of UI components the AI can use. Instead of generating arbitrary HTML/CSS, the AI selects from known, tested components.
Registry: [BarChart, LineChart, DataTable, KPICard]
Prompt: "Show monthly revenue"
Output: { component: "BarChart", props: { data: [...] } }
A predefined set of data sources the AI can query. Prevents hallucinated API calls.
Registry: [getUsers, getRevenue, getOrders]
Prompt: "Show top customers"
Output: { query: "getUsers", params: { sort: "revenue", limit: 10 } }
Rendering UI components as they're generated, rather than waiting for complete output.
React Server Components enable streaming UI from server to client, making generative UI more practical.
Using JSON schemas or function calling to ensure AI outputs valid, parseable UI descriptions.
A fundamental design decision in generative UI systems:
| Approach | Description | Examples |
|---|---|---|
| Constrained | AI selects from registered components | Vercel AI SDK streamUI(), A2UI, Crayon, assistant-ui, Tambo, v0.dev |
| Unconstrained | AI generates raw HTML/CSS/JS directly | Google GenUI research, Claude Artifacts, MCP Apps, OpenAI Canvas |
Constrained systems are safer and more consistent — the AI can only use pre-approved components with known behavior. Trade-off: less flexible, requires component development upfront.
Unconstrained systems are more powerful — the AI can create anything. Trade-off: needs sandboxing (iframe, E2B), potential for inconsistency, and security considerations.
Google's research (see below) suggests unconstrained generation may become the dominant approach as models improve. They found users preferred AI-generated HTML/CSS over markdown 83% of the time, calling it an "emergent capability" — models produce good UIs without UI-specific training.
In practice, the 2025–2026 wave of production systems has leaned the other way. AG-UI, Google's own A2UI spec, the MCP Apps extension, and SDKs like Crayon and assistant-ui all standardize on constrained / declarative output — agents emit allow-listed components rather than raw code — for safety and consistency. Both ends of the spectrum are advancing in parallel rather than one cleanly winning.
Note: Generative UI is an emerging field. Much knowledge lives in blog posts, SDKs, and industry practice rather than academic papers.
Benchmarks for evaluating UI generation and datasets that enable screenshot-to-code, layout understanding, and web-agent interaction.
Protocols that connect agent backends to front ends and describe the UI that agents emit.
These specs are largely complementary rather than competing — they standardize different layers of the same stack:
| Layer | What it standardizes | Examples |
|---|---|---|
| Transport / events | How agent activity and state stream to the UI | AG-UI |
| UI description format | How the UI itself is described in the payload | A2UI (declarative components), MCP Apps (HTML resources) |
| In-client rendering surface | Where generated UI renders in a host chat app | MCP Apps, OpenAI Apps SDK, mcp-ui |
Purpose-built for streaming AI-generated interfaces:
streamUI() for server-streamed components and multi-provider support; v5 adds React/Vue/Svelte parity and SSE-based streaming.{% %} tag syntax. Framework-agnostic core with React renderer, 24 theme-neutral components, and Zod schema validation.Building blocks for reliable generation:
"Describe a component, get code."
"Describe an app, get a deployable project."
"Convert visuals to working code."
"Model Context Protocol servers that improve AI UI generation."
@mui/mcp (npm)."Chat interfaces that can generate UIs."
When UIs (or UI code) are model-generated, treat outputs as untrusted. These resources cover browser sandboxing, sanitization, and LLM-app security pitfalls.
Tools and practices for regression testing generated UIs, validating structured outputs, and red-teaming LLM apps.
Make model outputs reliable: constrain generation, validate payloads, and standardize tool/component contracts.
Libraries that AI generators commonly output to:
Components designed for LLM-powered apps:
For AI-generated charts and data displays:
Design-to-code converts designs (e.g., Figma) to code. Code generation is the broader field of AI-generated code. Conversational UI covers chat interfaces (related but distinct). Low-code/no-code includes visual builders that generative UI can automate.
JSON Schema defines valid UI structures. OpenAPI describes APIs for query registries. Web Components are a framework-agnostic component standard.
Contributions welcome! Please read the contribution guidelines first.
Submissions should be relevant to generative UI (not general AI/LLM), high quality (well-documented and maintained or historically significant), and accessible (open source, free tier, or detailed documentation).
New frameworks and tools, research papers and articles, interesting examples and demos, and corrections/updates.
License: CC BY 4.0 (see LICENSE).
A curated list of resources for AI-generated user interfaces — systems where LLMs dynamically create, compose, and render UI components.
124
12 commits
updated Aug 14, 2026
A curated list of resources for AI-generated user interfaces — systems where LLMs dynamically create, compose, and render UI components.
Generative UI represents a paradigm shift from "AI assists coding" to "AI generates interfaces directly." Instead of writing components, you describe what you need and the AI produces a working UI.
Generative UI is the practice of using AI models (typically LLMs) to dynamically generate user interface components at runtime, rather than having developers hand-code every interface.
| Dimension | Traditional UI | AI-Assisted UI | Generative UI |
|---|---|---|---|
| Primary workflow | Developers hand-code components | Copilot helps developers write code | Model generates UI components from intent |
| Developer involvement | High (author everything) | High (developer in the loop) | Lower per UI (developer sets constraints) |
| Runtime behavior | Static UI | Static UI (generation happens in dev) | Dynamic / runtime-generated UI |
| Typical output | Source code | Source code | Components, schemas, or rendered UI |
| Best for | Predictability, control | Faster delivery with human oversight | Personalization and rapid UI composition |
Generative UI enables personalization at scale, rapid prototyping, and natural language interfaces (e.g., "Show me sales by region" produces an actual chart), while reducing development time by shifting effort from implementation details to intent.
Challenges include Consistency (generated UIs may look different each time), Performance (generation takes time; streaming helps), Safety (arbitrary code generation has security implications), and Hallucination (AI might generate components that don't exist).
A predefined set of UI components the AI can use. Instead of generating arbitrary HTML/CSS, the AI selects from known, tested components.
Registry: [BarChart, LineChart, DataTable, KPICard]
Prompt: "Show monthly revenue"
Output: { component: "BarChart", props: { data: [...] } }
A predefined set of data sources the AI can query. Prevents hallucinated API calls.
Registry: [getUsers, getRevenue, getOrders]
Prompt: "Show top customers"
Output: { query: "getUsers", params: { sort: "revenue", limit: 10 } }
Rendering UI components as they're generated, rather than waiting for complete output.
React Server Components enable streaming UI from server to client, making generative UI more practical.
Using JSON schemas or function calling to ensure AI outputs valid, parseable UI descriptions.
A fundamental design decision in generative UI systems:
| Approach | Description | Examples |
|---|---|---|
| Constrained | AI selects from registered components | Vercel AI SDK streamUI(), A2UI, Crayon, assistant-ui, Tambo, v0.dev |
| Unconstrained | AI generates raw HTML/CSS/JS directly | Google GenUI research, Claude Artifacts, MCP Apps, OpenAI Canvas |
Constrained systems are safer and more consistent — the AI can only use pre-approved components with known behavior. Trade-off: less flexible, requires component development upfront.
Unconstrained systems are more powerful — the AI can create anything. Trade-off: needs sandboxing (iframe, E2B), potential for inconsistency, and security considerations.
Google's research (see below) suggests unconstrained generation may become the dominant approach as models improve. They found users preferred AI-generated HTML/CSS over markdown 83% of the time, calling it an "emergent capability" — models produce good UIs without UI-specific training.
In practice, the 2025–2026 wave of production systems has leaned the other way. AG-UI, Google's own A2UI spec, the MCP Apps extension, and SDKs like Crayon and assistant-ui all standardize on constrained / declarative output — agents emit allow-listed components rather than raw code — for safety and consistency. Both ends of the spectrum are advancing in parallel rather than one cleanly winning.
Note: Generative UI is an emerging field. Much knowledge lives in blog posts, SDKs, and industry practice rather than academic papers.
Benchmarks for evaluating UI generation and datasets that enable screenshot-to-code, layout understanding, and web-agent interaction.
Protocols that connect agent backends to front ends and describe the UI that agents emit.
These specs are largely complementary rather than competing — they standardize different layers of the same stack:
| Layer | What it standardizes | Examples |
|---|---|---|
| Transport / events | How agent activity and state stream to the UI | AG-UI |
| UI description format | How the UI itself is described in the payload | A2UI (declarative components), MCP Apps (HTML resources) |
| In-client rendering surface | Where generated UI renders in a host chat app | MCP Apps, OpenAI Apps SDK, mcp-ui |
Purpose-built for streaming AI-generated interfaces:
streamUI() for server-streamed components and multi-provider support; v5 adds React/Vue/Svelte parity and SSE-based streaming.{% %} tag syntax. Framework-agnostic core with React renderer, 24 theme-neutral components, and Zod schema validation.Building blocks for reliable generation:
"Describe a component, get code."
"Describe an app, get a deployable project."
"Convert visuals to working code."
"Model Context Protocol servers that improve AI UI generation."
@mui/mcp (npm)."Chat interfaces that can generate UIs."
When UIs (or UI code) are model-generated, treat outputs as untrusted. These resources cover browser sandboxing, sanitization, and LLM-app security pitfalls.
Tools and practices for regression testing generated UIs, validating structured outputs, and red-teaming LLM apps.
Make model outputs reliable: constrain generation, validate payloads, and standardize tool/component contracts.
Libraries that AI generators commonly output to:
Components designed for LLM-powered apps:
For AI-generated charts and data displays:
Design-to-code converts designs (e.g., Figma) to code. Code generation is the broader field of AI-generated code. Conversational UI covers chat interfaces (related but distinct). Low-code/no-code includes visual builders that generative UI can automate.
JSON Schema defines valid UI structures. OpenAPI describes APIs for query registries. Web Components are a framework-agnostic component standard.
Contributions welcome! Please read the contribution guidelines first.
Submissions should be relevant to generative UI (not general AI/LLM), high quality (well-documented and maintained or historically significant), and accessible (open source, free tier, or detailed documentation).
New frameworks and tools, research papers and articles, interesting examples and demos, and corrections/updates.
License: CC BY 4.0 (see LICENSE).