- Framework
- Laravel 13 with Blade server-side rendering. No SPA, no client-side router.
- Admin
- Filament 5, with a custom SEO and answer-engine editor on every record.
- Styling
- One hand-written stylesheet driven entirely by CSS custom properties. No Tailwind, no build step for the public site.
- Typography
- Newsreader for display, Hanken Grotesk for text, IBM Plex Mono for detail. Self-hosted, variable where the family offers it, latin and latin-ext only.
- Database
- PostgreSQL.
- Server
- Caddy with automatic TLS, year-long immutable caching on fingerprinted assets.
- Images
- Share cards are rendered from real HTML using these same design tokens, screenshotted headless at 1200×630.
- AI
- Search and answer-engine metadata is drafted by an LLM and reviewed by hand. Any field can be locked so generation never overwrites it.
- Analytics
- Google Analytics 4 only, and only in production. Read counts are a single column, not a per-view log.
Machine-readable
Every page here also answers in plain markdown: append .md to any URL.
llms.txt is the short briefing,
llms-full.txt is the whole site as one document,
and feed.xml is the RSS feed.
Changes
Notable changes to the site are listed in the changelog.