Laravel case studies

Anonymised write-ups of real Laravel engagements. No client names, no invented percentages — just the state of the codebase, the work performed and the technical end state.

Inherited Laravel marketplace with no documentation and a dead deploy

Two-sided marketplace · Laravel 6 · PHP 7.4 · jQuery · manual FTP deploys

The original developer had left, nobody could run the project locally, and the only deployment path was copying files onto the server by hand. The owner was afraid to change anything because a failed deploy meant downtime with no rollback.

The application can be cloned, booted and deployed by any Laravel developer from the README, and the owner has a prioritised list of what was deliberately left out of scope.

Stepwise upgrade off an unsupported Laravel and PHP release

B2B services company · Laravel 8 · PHP 7.4 · two abandoned Composer packages

The stack no longer received security fixes, and a previous upgrade attempt had been abandoned halfway, leaving a stale branch nobody trusted to merge.

The application runs on a supported Laravel and PHP branch, with a rollback plan that was written before the cutover rather than improvised during it.

Spreadsheet-driven operations replaced by a Filament admin panel

Operations team · Laravel API · spreadsheets · direct SQL for edits

Staff were exporting data to spreadsheets to make routine changes, and non-technical edits were being applied by a developer running SQL against production.

Day-to-day record changes are made by the operations team in the panel, and production SQL is no longer part of a routine workflow.

Reporting screens that timed out under real data volume

SaaS product · Laravel · MySQL · synchronous report generation

Report pages that were fine on seed data timed out against production-sized tables, and the queue was being used for almost nothing.

Report generation runs on the queue with the slow query paths indexed and profiled, and the profiling method is documented so the team can repeat it.

Marketing site rebuilt on a maintainable stack after a page-builder dead end

B2B SaaS · WordPress · stacked page-builder plugins · no staging

Every landing page had been assembled in a visual builder by a different person, so the same section existed in five slightly different versions. Page weight had grown past what mobile visitors would wait for, and editors could not change a headline without breaking a layout.

Marketing can publish a new page from existing components without a developer, and every old URL resolves to a single canonical page instead of a near-duplicate.

Six inconsistent microsites consolidated into one design system

Professional services · Six separate themes · no shared tokens · ad-hoc brand assets

Each service line had commissioned its own site, so the brand appeared in three type scales and four blues. Nobody could say which version was current, and every new page started with a copy-paste of the last one.

One source of truth for the brand in both design and code, with the previous microsite URLs mapped into the consolidated structure.

Field-service mobile app built cross-platform against an existing Laravel API

Field operations · Paper job sheets · spreadsheet scheduling · no offline capture

Engineers recorded jobs on paper and re-typed them in the evening, so the office worked from data that was always a day old and frequently incomplete.

Jobs are captured once, on site, and appear in the back office after sync — with a release process the client's own developer can run.

Technical due diligence on a SaaS codebase before an acquisition

Investor / acquirer · Undocumented PHP monolith · single-server deployment · unknown test coverage

A buyer needed to know what they would inherit: whether the platform could be maintained by a new team, what the security and licensing exposure looked like, and what the first twelve months of engineering would have to pay for.

The buyer went into the negotiation with a costed engineering plan and a written list of the risks that needed to be priced in.

Start with a written diagnosis

Every engagement above began with a read-only audit before a line of code changed. The same $299 Laravel Triage Audit is how new work starts.