Blog

Writing about software, the tools I use, and whatever I'm figuring out.

February 5, 2026 5 min read AI

OpenClaw: What We Learned from an Open-Source Autonomous Agent

OpenClaw's technical struggles, a major security incident, and what it tells us about where AI agents actually are.

January 15, 2025 14 min read TypeScript

Building Type-Safe APIs with TypeScript and Express

A practical guide to runtime validation in Express APIs using Zod, covering request bodies, query params, path params, headers, responses, environment variables, schema composition, transforms, testing, and when tRPC makes more sense.

January 8, 2025 12 min read TypeScript

Error Handling Patterns That Actually Work

Result types, discriminated union errors, async pipelines, retry strategies, circuit breakers, and the hard-won lessons from debugging production systems at 2 AM.

December 20, 2024 11 min read Engineering

What I Look For in Code Review

A framework for code review I've built over years of reviewing pull requests, covering correctness, security, communication, AI-generated code, and how review habits shape team culture.