BACK TO INDEX

Colophon

Next.js 16React 19Tailwind 4SQLiteCoolifyNo analytics

One mark, three modules. The A and the V are the same chevron at two rotations, and that edge is the only transition on the site: the opening wipe, the way every plate arrives, the cut between pages.

The motion is CSS. One client island reads scroll and pointer and writes custom properties; the stylesheet does the animating, on the compositor. There is no motion library and no smooth-scroll library. The page scrolls the way the device scrolls.

What plays inside the letterforms is a single fragment shader: contour lines over drifting noise, lit from the same point as the CSS light that follows the pointer. When there is footage, the footage plays instead and the shader never loads.

The type is Archivo at its widest optical width for anything that is voice, and JetBrains Mono for anything that is data: years, coordinates, status. In display sizes the A and the V are the mark's own glyphs, not the font's.

The twelve-column grid the mark was drawn on is left visible. Everything on the page sits on it.

Content lives in SQLite behind a small admin panel and the pages render per request, so the site is always what the panel says it is. Uploaded files are served from a separate origin under a sandboxing policy. The whole thing is one container, deployed with Coolify, built in Belgium.

Privacy

No analytics, no tracking pixels, no third-party scripts. The fonts are bundled with the site, so a visit makes no request to anyone else. The only cookie is the admin session, set on login and never for a visitor. The browser keeps one flag for itself, in session storage, so the opening plays once per visit rather than on every page.

The two live signals, whether the channel is streaming and when the last commit was pushed, are asked for by the server, not by your browser, and the answers are cached. Failed admin logins record an address for a short while so the door can lock; nothing else about anyone is written down.