Building a Type-Safe API Layer in React with TypeScript
Stop sprinkling `any` across your fetch calls. Here's the small, boring pattern I use on every production app to keep server data honest.
Sep 12, 2026 · 9 min read
The blog
Long-form notes on building, debugging and maintaining web software — plus the career side of engineering that nobody documents.
6 posts
Stop sprinkling `any` across your fetch calls. Here's the small, boring pattern I use on every production app to keep server data honest.
Sep 12, 2026 · 9 min read
A 2.4s query became 11ms after one index. Here's how I reason about B-tree, partial, composite, and GIN indexes now.
Aug 28, 2026 · 11 min read
Nobody gets promoted for working weekends. What actually moved the needle for me was writing things down and saying no more often.
Aug 4, 2026 · 7 min read
Buffering a 2GB upload into memory is a great way to meet your on-call rotation. Streams fix it in about thirty lines.
Jul 19, 2026 · 8 min read
Not a list of 47 VS Code extensions. Just the handful of tools that have survived three years on my machine.
Jun 30, 2026 · 6 min read
Memoizing everything is not a performance strategy. Here's how I profile a slow React page and fix the real cause.
Jun 11, 2026 · 10 min read
Newsletter
Deep dives on TypeScript, Postgres, and engineering careers — roughly twice a month. No courses to sell, no spam.