Signal
Colophon
Short version: by hand, on purpose. No framework, no page builder, no component library, no CDN, no trackers, no analytics, no ads, no cookies. The whole site is static files generated by one Python script that only uses the standard library, served off a small computer in a spare room. This page is the receipt.
The build
Every page here is written as plain HTML fragments and assembled by a single hand written generator. There is no npm, no bundler, no CSS framework and no JavaScript framework. v008 is a structure layer on top of the v007 stylesheet rather than another rewrite, because the thing that needed fixing this time was the shape of the site and not the look of it. If that sounds austere, that is the point. You could read the whole thing.
The mask
The shape behind the words is a real 3D object, not a picture. It is built in code as an extruded face plate, lit with a warm key light and a cold rim light, with an emissive mouth whose bars ride the same live waveform the rest of the site uses for its signature. It runs on WebGL through Three.js, vendored into the repo and served from this box, so nothing loads from anyone else's server. Turn WebGL off, or ask your system for reduced motion, and the page serves a complete static version instead. Nobody gets a blank screen.
The stack
- Markup and layout: hand written HTML and CSS, one Python generator, standard library only.
- Type: Space Grotesk for display, Inter for reading, Departure Mono and IBM Plex Mono for the interface labels. All self hosted, zero font calls off box.
- Scripting: vanilla JavaScript for the overlay menu, the command palette, the guides filter and the WebGL stage. No jQuery, no build step. The guides index, the expandable series and every link work with scripting switched off.
- 3D: Three.js r169, MIT license, vendored in the repo and served from this box. No CDN.
- Shop: the product catalogue is pulled from the print partner's storefront at build time and written to a committed JSON file, so every title and price on the shop page comes from the real catalogue instead of being typed out. Product photos are downloaded, converted to WebP and served from this box, because hotlinking someone else's CDN would be the first external resource this site has ever loaded. There is no cart, no checkout and no payment code here: the shop page is a catalogue and a front door, and buying happens on the partner's store.
- Search: the command palette (press the slash key, or Command or Control plus K) and the guides filter both read small JSON indexes baked into the page at build time. No server, no request, and the search can never disagree with what is on the page.
- Hosting: a Raspberry Pi in a spare room, reachable through an outbound tunnel with no ports opened to the internet.
- Tracking: none. No analytics, no tag manager, no cookies, no ads, no third party anything.
Built with Claude Code
The honest part. The site is designed and written with Claude Code doing the typing, against a locked identity and a strict set of rules: no invented numbers, no marketing voice, no imported effects kits, and a hard accessibility and performance floor every pass has to clear. The taste, the constraints and the final call are a human's. The mask, the WebGL, the menu and this colophon were built the same way the field logs describe building everything else, in the open, with the failures left in.
Why bother
Because a site that tells you to own your own stack should be built the way it preaches. Hand made, self hosted, no rent, no surveillance, simple enough that you could rebuild it yourself after reading the logs. That is the whole idea.