Writing

Latest Articles

Thoughts on engineering, design, and building products.

Shipping Production-Grade AI Agents That Don't Break
FeaturedJune 22, 2026

Shipping Production-Grade AI Agents That Don't Break

Lessons from taking an LLM agent from a flashy demo to a reliable system that real users depend on every day.

9 min read
Read Article
RAG That Actually Works: Beyond the Naive Vector Search
May 30, 2026

RAG That Actually Works: Beyond the Naive Vector Search

Why most retrieval-augmented generation pipelines disappoint, and the hybrid retrieval architecture I reach for instead.

11 min read
Streaming Generative UI in Next.js with the AI SDK
May 8, 2026

Streaming Generative UI in Next.js with the AI SDK

Streaming React components straight from the server lets you build AI interfaces with zero loading-spinner waterfalls.

8 min read
End-to-End Type Safety Across a Full-Stack TypeScript App
April 19, 2026

End-to-End Type Safety Across a Full-Stack TypeScript App

Drizzle, tRPC, and Zod give you a single source of truth from the database row all the way to the React component.

10 min read