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.

First-Party Image Processing in Laravel 13.20

Laravel 13.20.0 introduces an Image facade for resizing, converting, and storing images, along with a WithoutMiddleware controller attribute, a separate Redis session prefix, and quiet bulk increment methods on Eloquent.

Laravel Quota: Usage Budgets for Calendar Periods

A Laravel package that tracks and enforces cumulative usage limits across calendar periods, with a fluent API, an Eloquent trait, route middleware, and cache or database storage.

AI Review for Laravel Upgrades

Introducing a built-in AI Review of your Shift. Providing a second pass on your upgrade, guided by Shift's detailed comments combined with AI's context.

HTTP Query Method Support in Laravel 13.19

Laravel 13.19.0 adds an Http::query() client method and query/queryJson testing helpers for the HTTP QUERY verb, plus a reduceInto collection method, a counted string helper, and bulk SQS job dispatching.

Ship AI with Laravel: I Tricked My Own AI Into Leaking Everything

First I socially engineer our own support agent into leaking its full system prompt and another customer's data. Then we lock it down with four layers of defense: a hardened prompt, a local LLM guard running on Ollama, tool-level authorization, and output filtering. The finale of Ship AI with Laravel.