Uses
What I build with.
The tools I actually reach for — the ones behind the things on this site, not a wishlist. Honest about what's load-bearing and what's just along for the ride.
This site
Static HTML, no framework soup, served from the edge.
- Astro
- Built to plain static HTML — real pages first, enhancements on top.
- Cloudflare Pages
- Hosting at the edge, plus two small serverless Functions for the only server-side bits.
- TypeScript
- Everywhere it can reach, including the build scripts.
- Plain CSS + design tokens
- One 4px scale, one type scale. No utility classes, no runtime CSS-in-JS.
- Newsreader + IBM Plex Mono
- Self-hosted through Astro's Fonts API, with metric-matched fallbacks so nothing shifts.
SpotifyScraper & Python
The library most people have actually used, and how it is built.
- Python
- The language most of my shipped libraries are written in.
- httpx
- Sync and async clients over one sans-io core — the same logic, two front doors.
- Typed, frozen models
- Fewer surprises at the edges; the shape of the data is the contract.
- A typed API + a CLI
- Import it, or run it from the terminal. Same engine underneath.
- A real test suite
- Because the verification habit has to start with my own code.
How I actually work
The quieter half — process, not packages.
- Claude Code
- An AI pair I trust with real edits, kept honest by guardrails and review. This site is partly built with it.
- Git as the CMS
- Words live in Markdown, in version control. Publishing is a commit, history included.
- Verification first
- Proving output is faithful to its source before anything is allowed to depend on it.
Out in the open
Where the work lives if you want to check my receipts.
- GitHub
- Where the code lives.
- PyPI
- Where the library ships.
- Stack Overflow
- Where I answer more than I ask — these days, anyway.
This is the stack I can vouch for, because it's shipped. Ask me about the editor and the keyboard — that's a longer, nerdier conversation. If you want the why behind the site itself, read the colophon.