Thoughts on building software that lasts
Insights on web development, design, Laravel, the TALL stack, and building software that matters.
Meet Earmark: Park Any Livewire Page and Keep Working
Earmark is a Livewire package that parks unfinished pages in a live panel, so forms, dashboards, and videos keep running while you work elsewhere. Watch the demo.
A Temporary Fix That Ran for 12 Years Was Just Retired. Yours Might Still Be Running.
A 174-line PHP patch written in 2014 as a two-week stopgap ended up installed 20 million times. What its retirement this week says about the code your own business quietly depends on.
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.
The Exception Is the Part of Your Workflow Worth Building
A practical test for deciding when a business exception deserves custom software, and when it should remain a human judgment.
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.