How I Structure Every Laravel Project
After years of iteration, this is the project structure I reach for on every new Laravel app. Actions, services, form requests, and Pest tests. All of it.
I help teams modernize Laravel applications with clear architecture, useful tests, and fewer surprises in production.
A Laravel request moves through routes, an application controller, the domain layer, and data services. Domain work can also dispatch queued jobs and events.
Queue / events
Selected work
A selection of products and platforms shaped around maintainability, clear domain boundaries, and dependable delivery.
A wrestling promotion management platform for booking events, managing rosters, tracking championships, and organizing storylines.
Built a custom website for a local sourdough bakery business. Features a handcrafted design with interactive menu, customer review system with admin approval, and a Filament-powered dashboard for the business owner.
A multi-tenant SaaS platform that gives home bakers everything they need to run their business, online ordering, invoicing, customer management, financial tracking, and analytics all from one place.
My personal website and content platform. Blog, podcasts, projects, and a hire-me page, all built from scratch with Laravel and Filament.
Working principles
Clean boundaries, useful tests, and honest communication are the standards I bring to every engagement.
“Clean architecture, tested code, and honest conversations. That’s what I bring to every project.”
Services
From greenfield applications to legacy rescues, I help teams make sound technical decisions and leave the codebase stronger.
Custom web applications, REST APIs, SaaS platforms, and admin dashboards built with Laravel and Filament.
Migrating CodeIgniter, vanilla PHP, or aging frameworks to modern Laravel with tests, proper architecture, and CI/CD.
Blog posts, podcast episodes, and a YouTube channel dedicated to helping developers level up their Laravel skills.
Architecture audits, code reviews, and technical consulting to help your team ship better Laravel applications faster.
Latest writing
Architecture decisions, Laravel techniques, and lessons from maintaining real applications.
After years of iteration, this is the project structure I reach for on every new Laravel app. Actions, services, form requests, and Pest tests. All of it.
Every year someone declares PHP dead and Laravel irrelevant. Every year I start another Laravel project. Here's why I'm not switching.
Fifteen years is a long time to do anything. Here are the lessons, technical and otherwise, that I wish someone had told me on day one.
Listen
Thoughtful discussions about architecture, web development, and the realities of building software.
Watch
Tutorials, live coding, and architecture discussions grounded in the decisions that shape real applications.
Visit the YouTube channelThe Laravel Architect
Follow the channel for the next build session.
New videos focus on maintainable Laravel architecture, testing, and production-minded development.
Freelance Laravel development, legacy modernization, consulting, and collaborations. Let's talk.