// 01
A governed widget catalog
The answer to "who decides what the AI is allowed to render?" - you do. We define a catalog of approved, composable components and a schema the model has to compose within, so generation is bounded to interfaces you signed off on.
// 02
Server-driven, schema-to-widget UI
The model emits structured output against your schema; the layer maps it to a native widget tree and feeds interaction state back so the interface refines within the session. It is LLM-agnostic - any model that returns structured output drives it, so you are not locked to one provider.
// 03
One Flutter codebase across surfaces
Because the generated UI renders through Flutter, the same build runs on mobile, web, and kiosk. One generative layer, one design system, native rendering everywhere - instead of rebuilding the dynamic interface per platform.
// 04
Evals & guardrails for generated UI
Generated interfaces are non-deterministic, so they get the same discipline as the rest of the product: an eval harness that scores what the model assembled on real cases, guardrails on inputs and outputs, and observability that records what was asked and what got rendered - so a prompt change cannot silently regress the UI.
// 05
A bounded pilot sprint
The entry point is one fixed-scope pilot on a use case that matters - a defined catalog, the GenUI layer wired onto your existing model investment, and a working generative interface you can judge - not an open-ended research engagement.