GistUI Docs
Render a model's streamed answer as real, interactive UI. Guides, every component, and the open format behind it.
The model writes text. People get an interface.
Rendered live on this page. Press Replay stream.
Preview
Loading preview…
root = Page(head, kpis, Grid(trend, mix, cols:2), more, accent:orange)
head = Header("Q3 revenue", "All regions · updated Oct 1")
kpis = Stats(kpiData)
trend = Card(Chart(rev, type:area, title:"Monthly revenue", y:"USD"))
mix = Card(Chart(channels, type:donut, title:"By channel"))
more = FollowUps(["Compare with Q2", "Show top customers"])
kpiData = |Label|Value|Delta|Note
|Revenue|$1.2M|+8%|vs Q2
|Customers|3,410|+2.1%|vs Q2
|Churn|1.8%|-0.4pt|vs Q2
rev = |Month|Revenue
|Jul|380000
|Aug|402000
|Sep|431000
channels = |Channel|Share
|Organic|46
|Paid|31
|Partners|23Preview
Loading preview…
root = Card(Header("Invite teammates", "They get an email with a link", size:sm), form)
form = Form("invite", TagInput("emails", "Email addresses", type:email, required), RadioGroup("role", "Role", ["Viewer", "Editor", "Admin"], v:segmented, value:"Editor"), Slider("seats", "Seats", min:1, max:20, value:5, unit:" seats"), Checkbox("terms", "I accept the terms", required), submit:"Send invites", success:"Invites sent.")Preview
Loading preview…
$plan = "Team"
$seats = 12
root = Card(Header("Price calculator", size:sm), RadioGroup("plan", "Plan", ["Starter", "Team", "Enterprise"], v:segmented, bind:$plan), Slider("seats", "Seats", min:1, max:100, bind:$seats, unit:" seats"), Stat("Monthly cost", @fmt($seats * ($plan == "Starter" ? 0 : $plan == "Team" ? 29 : 79), "$"), note:$plan + " plan · " + $seats + " seats"))Pick your framework
One engine, one stylesheet, the same 63 components in each.
Connect a model
GistUI needs a text stream and nothing else. Complete server code for each.
Explore
GuidesActions and forms, tools and live data, chat, theming, your own components, security.ComponentsAll 63 components. A live example, the signature and every prop for each one.GistUI LangThe language a model writes: statements, tables, state, expressions and edits.GistUI Protocol v1The open format behind GistUI, how it compares, and how to implement it.BenchmarksRendering speed, accuracy, tokens and size, measured against OpenUI.For coding agentsThe bundled skill, llms.txt, and a Markdown version of every page.