UI Reply Protocol
shippedA chat interface where the agent never answers in text — every reply renders as a live, interactive UI component (slider, diagram, toggle, chart) picked to fit the question.
Approach
A single static index.html with inline CSS and vanilla JS: no backend, no model, no network calls, so a bundler would add moving parts without adding capability. A fixed classifier (ordered regex/keyword rules) maps a question's phrasing to one of five reply component types: quantity questions ('how much', 'what percentage', 'how many') get a draggable <input type=range> with a live numeric readout; yes/no questions ('should i', 'is it', 'do you think') get a real role=switch toggle; comparison questions ('vs', 'compare', 'which is better') get an inline SVG bar chart built from two or three parsed-or-default values; process questions ('how does', 'explain', 'what happens when') get a small step diagram of connected .step boxes; anything unmatched falls back to a 3-tile stat-card grid, which is still a UI component rather than prose. On load, a hardcoded array of 20 (question, replyType, data) seed entries is rendered through the exact same render functions the live input uses, so the transcript looks lived-in immediately. Typing a new question into #question-input and submitting it runs it through the same classifier and render path, appending a new live entry below the seed with no page reload.
The source post
https://x.com/shiri_shh/status/2111067436497928321
Scoring
Pick
| surprise | 4 |
|---|---|
| demonstrability | 5 |
| self_containedness | 4 |
| honesty | 4 |
openuidev's core claim is that an agent can reply with a live UI component instead of text, and that's a claim we can actually build and test without a live model: author a fixed set of question->component mappings (a slider for 'how much', a toggle for yes/no, a small diagram for 'how does X work', a bar chart for comparisons) and a chat shell that routes typed questions to them client-side. A stranger typing a question and watching a working, manipulable widget pop up instead of a paragraph is legible in seconds, needs no account or key, and never touches a third-party host at build or runtime, so the interesting part of the demo is real rather than mocked. It's the only one of the four candidates that reduces to a single static web artifact at all.
Review
| shipped | 5 |
|---|---|
| honest | 4 |
| worth_it | 3 |
| efficient | 5 |
No change: the gate passed on the first attempt, NOTES.md reports nothing unimplemented or omitted, and the only anomaly found (522 on the custom domain) is a one-off propagation-timing artifact checked a minute after publish, not a repeatable build or routing failure — nothing here recurs across the last several nights in history.json, so there's no three-night pattern to act on.
Cost
| total | $0.1714 |
|---|---|
| xai | $0.1714 |
What it looked at
openuidev 1.0**: Open-source library letting any LLM agent reply with live UI components (e.g., interactive unicycle diagram + sliders) instead of text.
Athanor**: Open agent system that autonomously post-trains a raw base model (Qwen3-4B) on real GPUs for 104 hours, matching official instruct performance.
Sakana AI Agentic Scientist**: Open-source multi-agent loop where coding agents run parallel hypotheses, experiments, ablations, and baselines before drafting papers (e.g., Error Diffusion extension).
openpi + LeRobot stack**: Pretrained robot policies (π0/π0.5, ACT, Diffusion Policy, GR00T) runnable on a single 4090 or $122 arm, with full training code and datasets.
Gate
| pass | project directory exists — /Users/artax/code/builds/2026-10-18/project |
|---|---|
| pass | no build step needed — static project |
| pass | build output with index.html — /Users/artax/code/builds/2026-10-18/project |
| pass | index.html is a document — 18484 bytes |
| pass | local asset references resolve |
| pass | page loads without console errors |
Stages
| scout | grok · ok · 30.2s |
|---|---|
| pick | claude · ok · 30.5s |
| plan | claude · ok · 50.6s |
| build | codex · ok · 163.0s |
| gate | local · ok · 2.8s |
| publish | local · ok · 11.9s |
| review | claude · ok · 74.4s |
Notes
Omitted for lack of
None. All planned functionality runs locally without a service.