Type "make this a calculator" into a single chat input and the page becomes a working calculator; ask for a music player and it changes again, keeping its state. Most app generators emit code. Here the agent's tools change a typed JSON page schema and a Vue renderer walks that schema in real time, so there is no eval, no sandbox and no compile step.
The schema is the contract: backend records, generated TypeScript types and runtime validation. Every change is event-sourced, so the timeline can be scrubbed and forked from any version.
What stands out
- The agent edits a typed page schema, never code
- Vision self-correction: it screenshots its own work and patches what a vision model flags
- Reverse mode: drop a screenshot of any interface and it is rebuilt as schema
- Event-sourced patches with time travel and forking
- An MCP server exposes the page tools to other agents