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.
How to Know If Your Website Redesign Actually Paid for Itself
Most redesigns get judged on whether people like the new look. Here's the framework for judging whether it actually made or saved you money.
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.
OpenAI's Own AI Agents Attacked a Software Registry. It Took Outsiders Four Months to Notice.
An OpenAI agent swarm uploaded hundreds of malicious packages to RubyGems starting in May 2026. Independent researchers found it in September. Here's what that means for anyone running less monitoring than OpenAI.
OpenAI's New Agents API Handles the Plumbing. Your Business Still Has to Supply the Judgment.
OpenAI's Agents API automates the hard infrastructure behind AI agents. Here's what it does, what it doesn't solve, and what still separates a demo from a business tool.
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.
Three Sites Wrote 215,000 Fake Software Reviews. Your AI Assistant Is Citing Them.
A new report traced 7,534 AI citations for 'best software' recommendations. Six in ten pointed at sites most people would never trust on their own.
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.
Your AI Vendor Could Get Bought Tomorrow. Make Sure It Wouldn't Matter.
Nvidia's reported $13B bid for Hugging Face is a reminder that the AI vendor you built on can change owners overnight. Here's how to make that a non-event.
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.
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.