Every page in Growth Method was loading 6KB of invisible vector data per campaign. Here's how I found the problem, the three options I evaluated, and the ten-line global scope that fixed it.
I removed my is_admin column two weeks ago. Now I need to log in as users again. Here's how I added impersonation to Growth Method without reintroducing the super admin concept I'd just deleted.
MCP servers are great for AI chat, but sometimes you need the underlying API too. How we handle both in Growth Method using a driver pattern — one credential, two access strategies.
How I removed spatie/laravel-permission from Growth Method, replaced it with a single Gate and a team_user pivot, and shipped the change in three safe phases. Net result: 295 fewer lines of code and one rule instead of five tables.
A compromised npm account turned Axios into a RAT dropper for 3.5 hours. Here's what happened, why AI coding agents make supply chain attacks worse, and 10 protections every Laravel project should have.
Laravel Boost shipped a new laravel-best-practices skill that checks your code against 100+ rules. I ran it against Growth Method and fixed 7 priorities -- security, performance, queues, and more. Here's the full breakdown.
How to wrap any REST API — like Google Search Console — as AI tools in Laravel, without needing an MCP server. Covers OAuth, a service wrapper, tool classes, and wiring it all together.
The Flux editor defaults to a 500px max height, creating nested scrollbars on full-page forms. Here's how to fix it, why context matters, and what the industry standard actually is.
How we built one generic Livewire chat component that works with any AI agent — streaming responses, MCP tool support, and per-team security boundaries — using the Laravel AI SDK.
Two days after removing Laravel Pulse, I reinstalled it to build an admin dashboard for Growth Method. Here's how I chose Pulse over Filament and Nova, built four custom cards, and fixed a nasty serialization bug in Laravel 13.
How the Laravel Scheduler works, the three automated tasks we run at Growth Method, whether a per-minute cron job is wasteful, and the production safeguards every app should use.
I spent two years with an is_admin flag in my users table before asking whether I needed it at all. Here's the decision framework that led to removing it entirely.
Laravel Horizon was overkill for my app. Here's why I replaced it with a simple Forge queue worker, what the Laravel community says about it, and a gotcha with retry_after that could cause duplicate jobs.
I migrated a production Laravel app from MySQL to PostgreSQL on Laravel Forge. Here's the full process — provisioning, data migration with pgloader, the gotchas that broke things, and how to roll back safely.
What happened when I ran Laravel Shift's Test Generator on a Laravel 13 codebase with Pest 4. What it generated, what broke, and what was actually useful.
I had Laravel Pulse running in production for over a year alongside Sentry. Here's why I removed it, how the two tools differ, and the step-by-step process for cleanly uninstalling Pulse from a Laravel app.
How I replaced a hand-rolled Alpine.js notification system across 17 files with Flux's built-in toast component. Fewer files, less custom code, and better conventions.
I audited my Laravel app against the conventions that Laravel Shift checks for and fixed everything that mattered -- return types, environment checks, stale code. Here's what I changed, what I skipped, and why.
How I used Laravel Shift and Laravel Boost (via Claude Code) together to upgrade a production app to Laravel 13 — and why using both gave me the best of both worlds.
AI agents can delete your database, wipe your files, and destroy months of work in seconds. Here's why backups matter more than ever for agentic engineers, and how to set them up with Laravel and Backblaze.
Laravel launched a community-powered Skills Directory at skills.laravel.cloud — an open collection of reusable AI agent skills for Laravel and PHP. Here's why it matters, especially if you're building with AI agents and can't write a line of PHP.
WWTD — What Would Taylor Do? — is a five-word prompt that changed how I learn Laravel. After using it in 49 coding sessions, here's why it works, seven real examples, and how it evolved from a one-off question into a reusable AI skill.
Real examples of applying YAGNI (You Aren't Gonna Need It) while building a Laravel SaaS app with an AI coding agent. From polymorphic relationships to vector databases, the simplest solution almost always wins.
Agentic engineering is a new discipline — not vibe coding, not traditional development. It's directing AI agents to build real software with intent, oversight, and taste. Here's what it means and why it matters.
Foreign key cascadeOnDelete looks like the perfect cleanup solution — until you use soft deletes. Here's why it silently fails, three ways to fix it, and what Taylor Otwell recommends.
Why every Laravel test failed with "Unknown database 'testing'", what the testing database actually does, and how LazilyRefreshDatabase keeps your real data safe.
The biggest announcements from Laracon EU 2026 in Amsterdam — Laravel 13, passkeys, the AI SDK going stable, NativePHP going free, and more — filtered through what actually matters if you're building with Laravel but don't write code.
Migrating from PrismPHP to Laravel's official AI SDK broke two agents silently. Here's what went wrong with temperature support, strict mode schemas, and error handling — and how to fix each one.
I migrated my production Laravel app from MySQL to PostgreSQL. Here's what changed in the code — DATEDIFF to Carbon, FIELD() to a reusable scope, LIKE to whereLike — plus what the Laravel community thinks and what Taylor Otwell would do.
A real security audit of a Laravel app found IDOR vulnerabilities in Livewire components, XSS through strip_tags(), mass assignment with $guarded = [], and predictable share tokens. Here's what was wrong and how I fixed each one.
A user clicked Create Account and nothing happened. Three bugs were hiding behind that one symptom — hardcoded database IDs, a synchronous email that timed out, and a validation error on the wrong step.
Deleting a team in a multi-tenant Laravel app broke transactions, orphaned pivot rows, and wiped user data across teams. Here are the five things that went wrong and how I fixed them.
Streaming AI responses in Livewire caused a flash of raw markdown (**bold text**) before the HTML rendered. The fix was moving markdown conversion server-side and removing a 5-step client-side pipeline.
I literally cannot write a line of PHP from memory. But I've shipped a full Laravel SaaS, fixed N+1 queries, handled security reports, and made 120+ commits in two months. Code is no longer the bottleneck.
One question to Claude Code — "is there anything obvious that could be having a negative impact on performance?" — turned up 9 issues on a single page. Here's what it found and why each one matters.
Switching from Froala to TipTap broke every image in our app. Here's how we cleaned the legacy HTML — and the Laravel migration bug that silently skipped half our records.
A performance audit found three JavaScript libraries shipping on every page that nothing in the app actually used. Removing them cut the bundle by 28%.
Laravel Blaze makes your Blade components render up to 97% faster with zero code changes. A plain-English guide for non-traditional developers to the optimized compiler, memoization, and code folding — and why Flux + Blaze is the easiest performance win you'll ever get.
Laravel's conventions, curated ecosystem, and readable syntax make it uniquely suited for non-traditional developers building real products with AI. Here's why.
You don't need to memorise git commands to ship Laravel code. Here's how I learned git by asking an AI assistant to walk me through it — and how it eventually just handled it for me.
A practical guide to fixing the most common errors you'll hit when pulling a Laravel project locally for the first time — S3, Algolia, Livewire, and more.
A plain-language explanation of Laravel migrations for non-developers. What they are, why they exist, and how they work in practice — with a real example from changing a campaign duration setting.
A collection of small but meaningful UX improvements for Laravel apps — external link indicators, preventing layout shift, and more. Real examples from building a Livewire app.
Three types of visual shift that make your Laravel app feel janky, and the patterns to fix each one. Conditional UI, loading states, and modal content.