Colophon
At the back of a printed book is a page that says how it was made. This is that page.
The type
- Departure Mono. Everything, on its 11px grid and without smoothing, so every stem is whole pixels: headlines, labels, readouts and the glyph graphics. By Helena Zhang.
- Host Grotesk. Running text on the pages you read at length.
- Apple Garamond. An italic phrase, now and then.
- Merida and its relatives. The chess pieces in the chess experiment, by Armando H. Marroquín, with Utrecht by Hans L. Bodlaender.
- Pixel Chess. The pixel piece sets, by SpicyGame (CC0). The filled and shaded sets are built here from its sprites.
- Your own emoji. The emoji canvas draws with your device’s emoji font (Apple Color Emoji, Segoe UI Emoji or Noto Color Emoji), so it looks like your keyboard. The preview of a link to one view of it is drawn in Twemoji (CC-BY 4.0): the server that draws it cannot use yours. The names and groups are Unicode’s, from unicode-emoji-json.
The colour
- One bit. Ink
#0c0c0con paper#ebebe4, and the other way round. Nothing is grey: a shade is a pattern of whole pixels. - Signal amber.
#fd9700, the one exception: the cursor, a selection, a mark. It is the most saturated amber that keeps ink on it at AAA contrast.
The press
- Nuxt 4.5.2 and Vue 3.5.43. Server-rendered, most pages prerendered, hosted on Vercel.
- Tailwind CSS 4.3.3. Every colour, size and spacing comes from one set of tokens.
- GSAP 3.15.0 and Lenis 1.3.26. The motion and the smooth scroll. Under reduced motion, none of it runs.
- three.js 0.186.0. The front page’s 512 cubes, drawn small and dithered to two colours, and Jevvie, drawn on WebGPU where the browser has it.
- Slidev 53.0.0. The decks, built into static apps and framed on their own pages.
- Satori 0.33.4. The link-preview images, set in the same fonts as the site.
- chessops. The rules in the chess experiment: the library behind Lichess, by Niklas Fiekas, under the GPL-3.0.
- Stockfish. The chess coach, as stockfish.js (GPL-3.0), running in your browser only when the coach is on.
- vgpu. The emoji canvas, drawn on WebGPU with Vercel Labs’ library, with a plain canvas where the browser has none.
- Jevvie. The character in the corner: three.js draws it, vgpu its trail, and Jev picks what it does. The site’s actions are WebMCP tools, through MCP-B’s polyfill where the browser has none, so an agent can use them too.
- Markdown. Notes, case studies and this page are plain text files, rendered by markdown-it.
The post
- A small proof of work. While you type a message, your browser solves a small puzzle before it sends: nothing to a person, costly for anything sending thousands.
- A second reader. Before a message reaches me, TypeSafe’s Jev reads it and tags likely spam in the subject line. Nothing is dropped.
- Delivery. Messages land in my inbox through the Gmail API. The privacy page says what happens to them.
flowchart TB
Y["You type a message"] --> P["Your browser solves<br/>a small puzzle"]
P --> J{"Jev reads it"}:::lit
J -->|looks genuine| I["My inbox"]
J -->|likely spam| T["My inbox, tagged"]
The rest
- Counting visits. Cookieless page views from Vercel, and Google Analytics only with consent where the law asks for it. No advertising.
- The Lab. Some experiments are hosted elsewhere and shown in a frame, with a link to open them on their own.
- Open source. The chess and emoji experiments, with the Jev client they share, are public: chess-with-jev (GPL-3.0) and 1-million-emojis (MIT).
The run
- In print. 5 notes, 6 case studies, 1 deck and 8 experiments.
- Read at build time. The colours, versions and counts on this page come from the code and content when the site is built, so they cannot drift.