Writing on software design, company building, and the aerospace industry.

All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.

Ship AI with Laravel: Test Your AI System with Zero API Calls

We've built agents, tools, a knowledge base, and streaming. Now how do you test it without hitting OpenAI on every run? In this episode we test the entire system with Pest and zero API calls using the SDK's faking system. Fast, deterministic, free.

Help make Filament faster!

Calling all Filament users – want to help make Filament faster? As of today, the team has launched some big performance upgrades across all of the first-party Filament packages into beta and they need your help to test the releases in some real-world applications! Read on for more information about the changes that have been made!

Turn PHP Attributes Into Docs With Signal

Signal is a PHP library that reads attributes on your classes and methods and turns them into Markdown and JSON documentation through a single command.

Laravel WhatsApp: Two Backends Behind One Facade

Laravel WhatsApp wraps both the Meta Cloud API and a whatsapp-web.js sidecar behind a single facade, with a Livewire admin UI for managing sessions, messages, and webhooks.

Ship AI with Laravel: Failover, Queues, and Middleware for AI Agents

Your AI platform works in development, but what happens when the provider goes down at 2am or traffic spikes? In this episode we add provider failover, queued background processing, and middleware for logging, rate limiting, and cost tracking. The infrastructure that keeps it running in production.

Route Metadata Support in Laravel 13.17

Laravel 13.17.0 adds first-class route metadata support, Postgres transaction pooler integration, a dev:list command, and a Should Not Retry exception handler for queue jobs.