Lessons from Shipping a Laravel Package with 600K Downloads
From blade-flags to Laravel Translations — the real lessons from maintaining open-source packages used by thousands of developers.
All of my long-form thoughts on programming, product development, and more, collected in chronological order.
From blade-flags to Laravel Translations — the real lessons from maintaining open-source packages used by thousands of developers.
How I structure queued jobs in production Laravel apps — from retry strategies to batch processing to avoiding the pitfalls that silently lose data.
January was about polishing and preparing for launch. Here's the progress across Laravel Translations Pro, the free v2, and kit.
Actions are single-purpose classes that keep your controllers thin and your business logic testable. Here's how I use them across three production Laravel apps.
How I built a multi-language code scanner that finds untranslated strings in Blade, PHP, React, and Vue files — and converts them to translation keys.
The testing patterns I've settled on after writing thousands of Pest tests across three Laravel projects — from naming conventions to factory states to what not to test.
How I built kit's installer — a CLI that validates a license key, resolves selected modules, and generates a clean Laravel project.
I migrated Laravel Translations, Translations Pro, and kit from Tailwind v3 to v4. Here's what broke, what improved, and the patterns to watch for.
How I implemented RBAC in Laravel Translations v2 — from enum-based roles to policy authorization to middleware guards, without any external packages.
Why I chose React with Inertia over a separate SPA, and how the v2 features — deferred props, prefetching, polling — changed the way I build Laravel apps.