#coding
Stack Check, April '26
April 18, 2026 · 4 min read
Claude got expensive in the way that matters, so the stack moved again.
Learning Rust For No Good Reason
April 11, 2026 · 2 min read
Sometimes interesting is enough.
Axios Got Hijacked and npm Already Knew
March 31, 2026 · 1 min read
The axios hijack bypassed CI entirely and the registry made it visible.
Borrowing Taste From Discogs
March 29, 2026 · 11 min read
Apple Music can't recommend music and Spotify killed the API that could, so I hacked together a new solution.
Dependency Cooldowns Took Me Twenty Minutes
March 28, 2026 · 5 min read
The litellm attack should be a wake-up call.
Coming Back to GitHub
March 26, 2026 · 3 min read
Six years on GitLab, a lot of principle, and a migration that was easier than I expected.
Data Models as a Product Person
March 10, 2026 · 4 min read
The shape of your data is the shape of your product.
Stack Check, March '26
March 5, 2026 · 6 min read
How my dev tools finally stopped fighting each other.
Upstash Solved My Dumbest Problem
February 24, 2026 · 4 min read
I spent a weekend building rate limiting from scratch and then deleted all of it.
Apple Music Won't Let Me Remember
January 14, 2026 · 4 min read
Last.fm doesn't work, Apple doesn't care, so I built something ugly that does.
Staying Close, Moving Faster
December 17, 2025 · 6 min read
Warming up to vibe coding without giving up authorship.
Digitizing Old Notebooks
July 7, 2025 · 4 min read
Building a pipeline to rescue old notebooks from slow decomposition.
Hello, Next.js
June 22, 2025 · 4 min read
Why I ditched my custom setup and let Next.js run the boring parts.