How Martori runs
Four layers, cleanly partitioned.
The page at the edge. The companion in its own function. The model a request away.

The atelier · generated still
Atmosphere for the stack story. Not a product screenshot.
The stack
One request, four jobs, no overlap
Each layer owns one responsibility and hands off cleanly to the next.
Netlify
Edge + hostingServes the TanStack Start render straight from the edge, so the page arrives with no cold start to wait on.
Tap or hover a node to trace its role
Netlify
Edge + hosting
Every route renders through TanStack Start and ships from Netlify's global edge, git-connected from commit to atomic deploy.
TanStack Start
React 19 + TypeScript
React 19 and the TanStack Router render each page, typed end to end in strict TypeScript and styled with Tailwind CSS 4.
Netlify Functions
Serverless compute
Lark, the studio's on-page companion, runs through a Netlify Function so the model key and its instructions never reach the browser.
Netlify AI Gateway
The model layer
The gateway routes every conversation to Anthropic's Claude, injecting credentials so no key is ever written into the code.
How we build
From commit to live, one clean pipeline
Nothing is uploaded by hand. Every change is built, previewed, and shipped through the same automated, Git-backed path, the way resilient modern software is meant to ship.
Server-rendered
01TanStack Start · Netlify
Meta tags, structured data, and page content are already correct when the browser paints the first frame, no client-side flash to wait out.
Typed end to end
02TypeScript strict · typed routes
TypeScript in strict mode and a typed router catch broken links and mismatched data before a change ever reaches production.
Git-backed and secure
03private · protected · audited
Every change moves through a private GitHub repository: protected branches, atomic deploys, and a signed, auditable history of every change.
Continuous delivery
04preview · atomic · reversible
Each merge triggers an automated build and its own preview URL, then ships as an atomic deploy that can be rolled back to any prior version in seconds.
Request flow
Follow a single tap through the stack
01 Netlify serves the page
A TanStack Start render streams from the nearest edge node. Navigation feels instant because there is no server to wait on.
Why it is built this way
Fast by default
The page renders at the edge and the model is a single gateway hop away. Nothing here waits on a monolith.
Sovereign by design
No model key ever reaches the browser. The Netlify AI Gateway holds the credentials, so what talks to the model stays server-side, always.
Unshakeable
Each layer can fail, scale, or change on its own. No single point holds the whole studio hostage.