Thoughts on building software that lasts
Insights on web development, design, Laravel, the TALL stack, and building software that matters.
Model Drift: When a Newer AI Model Makes Your Workflow Worse
Anthropic says Opus 5.5 is faster, cheaper, and more capable than Opus 5. But my workflows got worse. Better overall does not mean compatible with your workflow.
Laravel's AI Bridge Just Hit Version 1.0. Here's What Actually Changed for Your Business.
Laravel's MCP package hit 1.0 this week. Here's what changed, and what it means for connecting AI assistants to your business software safely.
Your Refund Policy Changed Six Months Ago. Can Your Code Prove It?
Most software encodes business rules as a single if-statement that gets overwritten every time the policy changes. Here's what that costs you and what to build instead.
Laravel's Bug Tracker Just Disappeared. Here's What That Means for Your App.
Taylor Otwell turned off GitHub Issues on most Laravel packages. It's a bigger deal for the businesses running on those packages than for the developers filing PRs.
Your Error Logs Have Been Quietly Storing Customer Data. Laravel Just Shipped the Fix.
Laravel 13.27 lets you mask query bindings in exception messages. Here's why that setting exists, and what's probably already sitting in your logs.
AI Agents Don't Know Whose Data They're Looking At. You Have to Tell Them.
A developer tested AI agents against cross-customer data attacks in a fake storefront. The blocking happened in the right places for the wrong reasons. Here's what actually stopped the leaks.
The Best AI Coding Guardrail Isn't a Prompt. It's Code the Model Can't Override.
Laravel Tackle enforces AI agent limits as PHP, not instructions. That design choice matters more than the package itself.
You Don't Need Downtime to Move Where Your Files Live
Laravel 13.26's read-through filesystem driver migrates storage on read instead of in one bulk sync. The pattern behind it applies to more than files.
Livewire Workflows 1.0 Helps Your Visitors Pick Up Where They Left Off
Livewire Workflows 1.0 adds signed resume links and replaces session-backed progress with database-backed as a default so customers can leave a multi-step process and return to the right place.
Your Deploy Finished. Your Background Jobs Didn't Get the Memo.
Every software update has a window where old code and new code overlap. Here's what breaks in it, and what to ask your developer before the next release.
HTML Over WebSockets Isn't New. The Hard Part Is What Nobody Mentions.
The web keeps rediscovering server-rendered HTML pushed over a socket. I build with it every day. Here is the honest production picture, including the failure nobody warns you about.
Laravel 13.22 Adds a Small Attribute With a Big Payoff for Complex Apps
Laravel 13.22's BindWhen attribute makes conditional dependencies easier to read, test, and change as a business application grows.
Your Website Is Built From Parts You've Never Seen. One Just Got Safer.
A quiet software update this week made one of the hidden parts your website depends on safer and cheaper to look after. Here's what that means for you, in plain English.
The Client Brief Template
A one-page PDF that helps you clarify your project before you talk to any developer. Covers goals, audience, scope, budget, and timeline. Fewer surprises, better outcomes.
Have a project ready to start?
Whether you need a full-stack application, a design refresh, or a technical partner who gets it — we'd love to hear about it.