Base Project · starter #3
A marketing page and one tool. Nothing to sign up for.
This starter pairs the shared core content surface with a single anonymous tool that runs entirely in your browser and remembers your work locally — no account, no backend. Fork it and swap the placeholder tool for your own.
The same core surface
The home page mounts the `theme` module from core and renders its seam — the same content surface marketing-website mounts, with no page copied between them.
One anonymous tool
An app-shell route hosts a single local-only tool. It is a placeholder: each fork drops in its own. What the shell proves is that a tool can render and persist with no account.
Local-only, by rule
Tool state lives in the browser and survives a reload. No accounts, no sync, no server-side persistence — a story that needs a server is not a v1 story.
Free-tier ready
Ad slots are on by default behind an entitlement gate — the free-tier monetisation surface, placed but never wired to interrupt the tool. Ad network and consent are the ZIX-36 seam.
Live from core: the theme module seam
Mounted via product.config.ts → rendered through @base/design-tokens. Current mode system, resolved light.
primaryaccentsuccesswarninginfodestructive
The app shell: one local-only tool
A single anonymous tool that runs in your browser and remembers your work with no account. It is a placeholder — fork it and drop in your own.
Open the tool- product id
simple-web-starter- framework
next- surface
web(from@base/config)- modules
theme
Fork it and make the tool yours.
Change the brand seam, point the tokens at your palette, replace the placeholder tool, and deploy static. What to touch — and what never to — is in the docs.
Open the tool