uxmorph demo

A Next.js app whose frontend can be reshaped per user by an agent. The pages are ordinary Next.js client pages marked "use morph"; a build step extracts them into a seed, and a proxy serves each signed-in user their own agent-compiled copy — typechecked, versioned, and instantly revertible. No git host, no Firebase, no build step for the generated pages.

Not signed in
Pick a persona to try it — no password, and each one gets its own copy of the site.
Sign in

How this works

  1. The demo site lives in app/(site) as normal Next.js client pages marked "use client" + "use morph", sharing code from ui/.
  2. uxmorph build (run automatically before dev and build) extracts those pages and their imports verbatim into a site seed, and writes the routes manifest proxy.ts reads.
  3. Signed in with custom UI on, the proxy rewrites /tasks to your own agent-compiled copy of the site. First visit materialises it from the seed as version one, “Original site”.
  4. The floating button opens the editor: one conversation, whole-site edits. Every change is typechecked and bundled before it can go live; failures never reach the page.
  5. Versions snapshot the whole site. Restore any of them — or flip custom UI off and you are looking at the real Next.js pages again.

Try this

Change the whole site at once

Open the editor on any page and ask for “a dark sidebar”. The sidebar is one shared file, so every page changes together.

Create a page by visiting it

Go to /team. It does not exist — the page says so, and the editor is right there to ask “create a team page”.

Leave mid-edit

Ask for a change and navigate away while the agent works. The run finishes anyway; reopen the editor and the transcript has the result.

Break it and roll back

Ask for a redesign, then restore “Original site” from the History tab — or toggle custom UI off to compare with the real thing.

Endpoints

/uxmorph lists every route the library serves. /uxmorph/api/docs is the API contract the agent is given. /api/tasks is this app's own API, the one the site calls in both modes.