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.

Vocalizer: Local Text-to-Speech for PHP

Vocalizer is a native PHP extension for local speech synthesis, embedding sherpa-onnx and audio.cpp to run eight TTS model families — including Chatterbox voice cloning — behind one API.

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.