Analysis updated 2026-06-24 · repo last pushed 2026-05-20
Build an AI assistant that produces UI restricted to your design system
Stream generative UI specs from an LLM and render them progressively
Share one JSON UI spec across React, Vue, Svelte, and React Native renderers
Add structured generative-UI output to an existing Next.js app
| vercel-labs/json-render | tensorflow/tfjs-models | glips/figma-context-mcp | |
|---|---|---|---|
| Stars | 14,775 | 14,783 | 14,741 |
| Language | TypeScript | TypeScript | TypeScript |
| Last pushed | 2026-05-20 | — | — |
| Maintenance | Maintained | — | — |
| Setup difficulty | moderate | easy | easy |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Catalog + registry + renderer all need to agree on Zod schemas before any LLM output renders.
json-render is a framework from Vercel Labs for what the README calls Generative UI. The idea is to let an AI model produce user interfaces from natural-language prompts, but only by picking from components and actions the developer has defined ahead of time. The AI does not write raw markup. It outputs a JSON spec that has to match a schema, and the framework renders that spec using your real components. The README sets out the trade-off plainly. The model is guardrailed so it can only use components that exist in your catalog. The output is predictable because the JSON must match the schema every time. Specs can stream and render progressively while the model is still responding. The same catalog can drive multiple platforms. Getting started is three steps. First, define a catalog with defineCatalog, declaring components such as Card, Metric, or Button along with Zod schemas for their props and a list of named actions like export_report or refresh_data. Second, define how each component actually renders by calling defineRegistry. Third, pass the AI-generated spec into a Renderer and the framework draws the tree. The project is split across many packages. There is a core package for schemas, catalogs, and stream utilities, plus framework-specific renderers for React, Vue, Svelte 5, SolidJS, and React Native. Other renderers cover Next.js apps with routing and SSR, Remotion video, react-pdf documents, React Email, Ink terminal UIs, Satori-based images, and react-three-fiber 3D scenes. There are also adapters for Redux, Zustand, Jotai, and XState, a devtools panel, an MCP integration, and a YAML wire format. The full README is longer than what was shown.
Generative UI framework where an LLM emits JSON specs constrained to your component catalog, and the framework renders them via your real components.
Mainly TypeScript. The stack also includes TypeScript, React, Vue.
Maintained — commit in last 6 months (last push 2026-05-20).
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.