One Schema, Many Projections: Using Zod as the Canonical Model

One pattern I've been using more lately is defining a model once and then treating everything else as a derivation or projection of that model. This isn't necessarily a new »

When SaaS Becomes a Black Box for AI

I've been thinking about another problem with AI coding tools that I don't hear talked about as much. A lot of modern applications don't really live entirely inside the codebase »

Why AI Makes TypeScript More Useful

I've used TypeScript for years mainly because it makes larger Javascript applications easier to maintain. That hasn't really changed, but what has changed is that AI is now writing a »

The Case for Monorepos in the Age of AI

I've gone back and forth on monorepos over the years. There are obvious benefits: shared packages are easier, types can be reused, frontend and backend code can live closer together »

What Changes When Your Application Depends on AI

I've been thinking about some of the application dependencies that become more important once AI is introduced into an application. A lot of the infrastructure isn't actually new. We already »