Isometric Git
See your repo built as a factory.
Drop a folder. Every folder becomes a machine, every import a belt, and the history replays commit by commit.
Start with tokens and a button
Shop front: a home page and a product card
Money and product types, shared by everything
Database: schema, client and seed data
API server with product routes
The shop reads products from the API
Inputs, cards and a dialog for the kit
Cart: a hook, a drawer and a route
Sign in with sessions
Account page and a sign-in form
Checkout with card payments
Orders, and the webhook that confirms them
Receipts and a welcome by email
Fold the hooks into lib
Admin: orders and stock
A table, badges and a toast for the kit
Search the shelves
Merge branch 'gift-cards'4 commits
A footer, empty shelves and a page for wrong turns
Dark mode, from the tokens up
Rate limits on the API
How to read it
Machine
A folder. More code makes it taller.
Roof hatch
A file. Hover one for its name.
Belt
What one folder imports from another. More imports, more boxes, each labelled in its sender's colour.
Smoke
A commit just changed files here.
Pennant
Nothing imports this folder. A line ends here.
Crates
A branch was merged. Its work is set down beside each machine it changed, a crate a file.
Striped hatch
Both branches changed this file, and the merge settled it.
Nothing leaves your machine
The page reads the folder you give it, .git included, inside your browser. There is no server behind it and no upload. Once the page has loaded it makes no request at all, which you can watch in the network tab.
It follows JavaScript, TypeScript and CSS imports, tsconfig paths and workspace packages, plus Rust modules, use imports and local Cargo dependencies. Rust macros and generated modules are not expanded. Other languages still get machines, with no belts between them yet. A merged branch lands as one step, and a history longer than 150 commits is sampled down to 150 steps.