Writing

Thoughts on engineering, product, and building things that work.

What Products Are Worth When AI Agents Become Buyers

How AI agents could change software pricing, product comparisons, and the way we define value

AI agents may make products easier to test, compare, combine, and replace. That could change pricing, weaken old forms of lock-in, and force us to define value more honestly.

Read more →

How Identity Works for AI Agents

Auth.md and the different kinds of proof an AI agent may need

Agent identity is not one question. Auth.md, Web Bot Auth, SPIFFE, OAuth, and UCAN each provide a different part of the answer.

Read more →

MPP and x402: A Price Tag for the Internet

How machine-readable price tags could change the way software buys services

MPP and x402 give machines a common way to encounter a price, pay for one useful result, and continue. The harder questions are where the money comes from, what payment proves, and what still requires trust.

Read more →

One Contract Powers My API, My AI Agent, and My MCP Server

How structured code became a superpower when AI entered the stack

The organizational habits that used to feel like overhead started paying off when AI agents became consumers of my code. One contract definition now powers three interfaces with no glue code.

Read more →

Type-Safe Validation with Drizzle and oRPC

One definition, validated at every boundary

Stop duplicating validation. One schema definition that flows from database to API to client, with TypeScript catching drift before runtime.

Read more →

UX in the Age of AI: Hybrid Patterns for Chat and Traditional UI

The most effective AI experiences leverage both

Chat won't replace traditional UI. The best AI experiences blend both, letting natural language control real interface components.

Read more →