Website craft · Zero-router routing

Four pages.
One document. Zero reloads.

Click through the fake nav below — the URL genuinely changes (real history.pushState), but nothing reloads. The hero image doesn't crossfade, it morphs — shrinks, slides, changes shape — because it's the same persistent DOM node the whole time, and the browser's native View Transitions API is doing the choreography. No router library, no animation framework.

CHECKING SUPPORT… 4 views · same DOM node
🔒 localenhance.com/
Honest label: document.startViewTransition() is Chromium-first (Chrome/Edge/Arc 111+). Elsewhere the four views still switch instantly and correctly — you just lose the morph, nothing breaks.

The router most sites ship
is 3KB you don't need.

For a lot of "multi-page" marketing sites, the whole job is: swap some text, keep one hero visually anchored, update the URL. The platform does all three now — no client-side router, no virtual DOM diffing.

Build my zero-framework site →