All experiments

Adaptive interface POC

Testing · 2026

Live Canvas

A local-first canvas where people express intent in place and an AI composes useful, reusable interfaces around their work.

Generative UIAgent UXCodex CLILocal-first

The question

Can software assemble the right interface at the point of intent instead of forcing every task through fixed screens or a blank chat?

Working thesis

The useful middle ground between rigid GUIs and open-ended chat is a persistent workspace made from trusted, typed components that an agent can select, create, and connect as the task evolves.

Prototype

What I built to test it

  1. 01An unbounded spatial canvas with right-click, double-click, keyboard, and touch creation paths.
  2. 02Agent-selected native components plus isolated HTML, CSS, and JavaScript components created when the library has no good fit.
  3. 03Typed controls for choices, toggles, scales, checklists, and short text instead of routing every answer through chat.
  4. 04Component-to-component follow-ups, visible branch lineage, local persistence, and camera controls for navigating larger workspaces.
  5. 05Grounded live-result flows that require source links before the interface can turn a result into a plan.

What changed

What the prototype taught me

  1. 01Adaptive UI still needs visible affordances: typed controls are faster and clearer than repeatedly asking for prose.
  2. 02Spatial continuity matters. New results need to remain connected to their source and arrive at a readable camera position.
  3. 03Live data must be visibly grounded before an agent builds decisions or action plans on top of it.
  4. 04Generated interfaces need narrow capabilities and isolation; model judgment is not a replacement for deterministic safety rules.

Still unresolved

The next questions

  1. 01Do first-time users discover the point-of-intent creation model without coaching?
  2. 02For one bounded workflow, is the canvas materially better than a well-designed fixed UI or chat?
  3. 03When does adaptation feel helpful, and when should the interface remain stable?