Thoughts on building software that lasts
Insights on web development, design, Laravel, the TALL stack, and building software that matters.
Cloudflare Turns On Visitor Tracking By Default. Here's How To Check.
Cloudflare quietly started enabling Web Analytics on free domains, injecting a tracking beacon without an opt-in step. Here's what site owners should verify.
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.
AI Features Are Metered Now. Don't Let the Meter Run in Your Tests.
Every automated test that calls a live LLM costs tokens on every push. Here's how to build AI features so the meter never runs in CI.
Laravel 13.16's `artisan dev` Finally Kills the Four-Terminal README
Laravel 13.16.0 moves dev process orchestration out of composer.json and into a versioned service provider. Here's what it actually changes for teams.
Laravel-Lang Got Compromised Through Git Tags. Here's What Every PHP Site Should Check Today.
On May 22, an attacker rewrote 700 existing git tags across Laravel-Lang packages instead of publishing new versions. composer.lock alone won't save you.
Why We're Skipping Livewire 4's Single-File Components
Livewire 4 shipped in January and the consensus take is settled: view-based, single-file components are the future. We disagree. Here's why we default new builds back to the class-based style.
One AgentAction, Two Callers: Bridging Laravel AI Actions to MCP
laravel-ai-action v1.0.4 ships an opt-in MCP bridge so the same AgentAction class that handles a Filament form can answer a Claude Desktop tool call — without touching the action itself.
Architecting AI Agents in Production: What We've Learned Building SaaS Features in 2026
How to build reliable AI agents for production SaaS—the architecture decisions, tradeoffs, and patterns that separate working prototypes from systems that scale.
Adding AI to Your Laravel App Without a Rewrite
Laravel's HTTP client makes integrating OpenAI, Claude, and other AI APIs straightforward. No Python microservice, no separate codebase — bolt-on features, not a full rebuild.
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.