Design system
Glass, signal, and ink.
The dashboard and this site share one material system. A deep canvas carries soft colour fields; translucent surfaces stack on it; floating chrome blurs what sits behind; small LED-grade signals report status; three steps of ink carry the words. This page is the system, rendered live from the CSS custom properties. Flip the theme switch and watch every token move together.
Tokens live in packages/ui-kit/src/tokens.css and are mirrored in this site's stylesheet. Components never hard-code a colour.
Canvas & surfaces
Layers, back to front
Surfaces are translucent, so the canvas glow shows through every panel and no two cards on a page are ever quite the same colour. A one-pixel inner highlight on the top edge is the only hint of physicality.
Ink
Three steps of emphasis
Headlines and values in the first step, body in the second, labels and metadata in the third.
Signals
Small, vivid, never a wall
Orange acts. Green, amber, and red report. Violet marks redactions, gold marks Pro, cyan marks Sync. Signals appear as glowing dots and tinted chips, never as large blocks of colour.
Typography
Type scale
Archivo for everything spoken, with tight tracking on display sizes. IBM Plex Mono for anything that is data: paths, counts, commands, timings. Doto is reserved for a handful of large numerals.
One context, every agent.
The context layer your agents were missing.
ctxfile snapshots your working state into one context object that any MCP agent loads instantly, and nothing leaves your machine.
Section label
file · 34 files · 6 redactions · 947ms · 18,432 / 50,000 tokens
18,432
Components
Live specimens
Built with the same CSS classes the real pages use. Not illustrations of components, the components.
npm install -g ctxfile1{2 "meta": { "tokensUsed": 18432, "tokenBudget": 50000 },3 "plan": "Ship checkout flow: webhook handler, then receipt emails.",4 "keyFiles": [5 { "path": "src/payments/webhook.ts", "tokens": 1284, "redactions": 2 }6 ],7 "gitState": { "branch": "feat/checkout", "ahead": 2, "behind": 0 }8}
# register once, serve every client on the machinenpm install -g ctxfileclaude mcp add ctxfile -- ctxfile --root .