Interfaces get built by hand1. Someone decides what you'll need before you show up, and you work with whatever they guessed. Artifice flips that.
You say what you're doing. A local model7 works out what data it needs, fetches it, and builds a screen for that one task — either as real code in a sandbox, or as a spec it fills in. No fixed menus, no chat window.
When the task is done, the screen is too. Pin the ones worth keeping. The rest weren't meant to stick around — it's closer to what Victor called information software3 than to an app.
Every screen comes out of a two-step loop. The model never sees your actual data — only its shape: column names, row counts, a couple of sample rows.
Engine A · default
Generative
The model writes real HTML, CSS and JavaScript. It runs in a locked-down
sandbox — no network, no access to the page around it — with your
data passed in as window.DATA. A built-in design system means it
looks right before the model adds anything of its own.
Engine B · constrained
Structured
Or it writes a JSON spec instead of code, using 41 components we've already built and checked. Sorting and filtering happen right in the browser, so the model is done once the screen is up. The rest of the report digs into this path.
All the data comes from tools — four built in, plus anything you connect over MCP6. Keys stay in your system keychain.
On the structured path the model doesn't draw anything. It writes a spec, one token at a time, and the renderer builds the screen as it comes in.
surface specification — streamed
vetted render
Fig. 1 — A spec streaming in, and the screen built from it. Half-finished pieces show as skeletons until their JSON closes.
Once a screen is up, it runs on its own. Drag a weight and the ranking updates instantly — the model never hears about it.
Fig. 2 — computeScore, running live. Each column is scaled, weighted and added up; rows re-sort as you drag.
The model can't make up components. It picks from these 41 — anything else gets swapped for a skeleton and flagged.
Fig. 3 — Every component, in one place. Tap a category to filter.
Keeping the model boxed in is what lets a small local one do the job at all.
- G1No made-up data. If the model points at data no tool returned, the screen fails instead of guessing.
- G2Sealed sandbox. Generated code has no network and can't touch the rest of the page. It can't phone home.
- G3Ask first. Anything that changes the outside world checks with you before it runs.
- G4Show your work. Every value knows which tool produced it, and when.
- G5Nothing hidden. The spec and data behind any screen are one keystroke away.
It all runs on your machine. The whole thing, start to finish:
- 01Get a model running. Install Ollama8 and pull qwen3:4b and nomic-embed-text. That's the setup.
- 02Hit ⌘K. One field asks what you're doing — not which feature you want.
- 03Type a sentence. Press return and the screen builds itself for that.
- 04Keep talking. Ask for a change and it edits the screen in place instead of starting over.
- 05Pin or drop. Pin what you want to keep. The rest disappears when you're done.
- 06Look underneath. ⌘I shows the raw spec, the data, and where every value came from.
- 07Bring your own tools. Add MCP6 servers and the model can use whatever they expose.
- ⌘KSummon EscDismiss ⌘IInspect
A wrong number in a confident-looking dashboard is worse than a wrong sentence. Three rules keep that from happening:
I The interface is inferred, not designed.
II Data comes only from tools.
III Every screen is temporary. What matters gets pinned.
- 1Sutherland, I. E. Sketchpad. AFIPS Spring Joint Computer Conference, 1963.
- 2Hutchins, Hollan & Norman. Direct Manipulation Interfaces. Human–Computer Interaction 1(4), 1985.
- 3Victor, B. Magic Ink: Information Software and the Graphical Interface. 2006.
- 4Vaswani, A., et al. Attention Is All You Need. NeurIPS 30, 2017.
- 5Willard & Louf. Efficient Guided Generation for LLMs. arXiv:2307.09702, 2023.
- 6Anthropic. Introducing the Model Context Protocol. 2024.
- 7Qwen Team. Qwen3 Technical Report. arXiv:2505.09388, 2025.
- 8Ollama. Run large language models locally. ollama.com, 2023–.
- 9Tauri Working Group. Tauri 2.0. tauri.app, 2024.
- 10Nielsen, J. Ten Usability Heuristics. Nielsen Norman Group, 1994.