Blog
Field notes from the build cave.
Short, opinionated essays on building for the web. Less hype, more 'here's what worked, here's what didn't.'

Multi-tenant from day one, before you have day two
Adding tenant isolation to a live SaaS is one of the worst jobs in software. Here's the setup that costs you almost nothing on day one and saves you a rewrite later.

AI agents are just APIs with worse error handling
Everyone's shipping agents. Most of the hard problems turn out to be the same integration problems we've had for twenty years, plus one genuinely new one.

The WebSocket reconnect logic nobody writes
Real-time is easy on your laptop and hard on a driver's phone going through a tunnel. What I learned shipping live tracking and chat to people who move.

Server Components didn't kill the SPA
Two years in, the honest verdict on the App Router: brilliant for content, oversold for dashboards, and the boundary is where all the difficulty lives.

Use Postgres until it actually hurts
Queues, search, caching, JSON, scheduled jobs. Postgres does all of it well enough for longer than you think, and every service you add is a service you operate.
Let's build something worth opening twice.
From a quiet landing page to a full-blown 3D product, every great build starts with one short conversation. Pick a slot — coffee's on me.
