Build pages from a component tree you can edit by chatting.
Every component gets a unique, addressable ID. Select any block, describe the change, and your own OpenAI-compatible model rewrites it in place. No lock-in on the model — you supply the endpoint.
unique IDs
Addressable components
Each node in the tree carries its own stable ID, so edits always target exactly one block.
your model
Any OpenAI-compatible API
Paste a base URL and key. Works with hosted providers, gateways, or a local model.
freeform
Nested layout tree
Compose rows and columns, nest components freely, and reorder without touching code.