🍞 BREAD · The stack
Four layers, one direction, and the app that runs them.
BREAD is a no-build, server-rendered hypermedia stack, built in five layers that each stand only on the ones below: BATCH, GRAIN, MILL, then PROOF and CRUMB sharing the top altitude. PANTRY is not a layer in that chain: it's the app that composes them into one running server, the same job this site does. This whole site runs on the same stack. Start here, then open any member from the cards below.
Learn the stack as you build your own thing on it. Drop this one link into the coding agent on an empty project and it will interview you, read the stack for itself, and propose which layers you actually need before writing a line: tjakoen.github.io/kickstart.
Start a project with KICKSTART →
The bottom layer: server-rendered hypermedia on Bun with no build step and near-zero client JavaScript. Bun runs the TypeScript directly, nothing between source and server.
See the substrate →On top of BATCH: an AI-interaction design system where a person and an AI operate the same controls through one vocabulary, with the AI's presence shown as a visible signal (grain = AI).
See the system →Above both: a Markdown-to-pages engine that renders GRAIN pages from content. It manages this site's notes and docs, a layer above BATCH and GRAIN, an extension of neither.
See the engine →Above MILL: plans are markdown files, and PROOF's board is a projection of them, never the other way round. The AI maintains the files; the board is for the human watching.
See the board →Also above GRAIN and MILL: tours are markdown files, and CRUMB turns them into a guided walkthrough that highlights real, live surfaces. It never edits your app, only reads and highlights it, and doubles as an AI-review mode.
See the tour layer →This portfolio is the other consumer of the same four layers: two composition roots, one stack. PANTRY is the neutral, installable one; this site is the personal one, with its own résumé and notes on top.
Each layer builds only on the ones beneath it: BATCH imports nothing inward, GRAIN imports nothing from BATCH but one port, MILL sits above both, and PROOF sits above MILL. CRUMB sits at that same altitude, also above GRAIN and MILL, reusing GRAIN's lamp and MILL's parser rather than shipping either again. That purity is what lets each become its own repo once proven.
PANTRY (and this portfolio) mount all four into one running server: two composition roots, one stack, honest about which parts are live and which are still building.
🤖 Built with Claude. I don't prompt and pray, I prompt and prove. Every commit here is co-authored with an AI, on purpose. How I actually work with AI, receipts and all →