Laravel rescue

Council Permits

Laravel audit-trail consolidation

A Laravel waste-permit application for a local-authority client, consolidated without breaking the public-facing service.

What I did for the council client

A Laravel application managing waste-permit licences for a local-authority client had drifted, over years of incremental change, into two parts of the system handling overlapping responsibilities. The audit trail and the administrative permit-flow each owned subtly different versions of the same data. The agency running the project asked me to consolidate them without breaking the public-facing service.

The consolidation, in three parts:

  • Centralised the shared behaviour into Laravel services with clear single-responsibility ownership.
  • Each service got a proper test suite, written to catch regressions in the exact spots the codebase had been silently fragile.
  • Testing discipline written up so the agency could keep it going long after I handed back.

How it helped the team

Before, deploys were nerve-wracking. The kind of platform where everyone pauses for a moment when the deploy goes out and checks the support inbox. After the consolidation, deploy anxiety dropped to nothing. The team's confidence in the platform came back, which had compounding effects: they shipped more freely, fixed bugs faster, and stopped working around the codebase's fragile spots.

Why this way

The temptation in a drift situation is to rewrite. The cheaper, safer move is usually the opposite: identify the actual shared responsibilities, extract them into clear services, write tests that pin down today's behaviour, and only then change anything. That is what we did. The test suite went in first as a frozen snapshot of how the system already behaved, then the consolidation changes landed on top, with the tests confirming nothing user-facing had changed by accident.

How I would describe working together

NDA local-authority work. The kind where what matters is not the flash of the build, but that real public-service work runs predictably year after year. The consolidation removed years of accumulated risk in one focused push, and left the agency in a strictly better position to maintain the codebase on their own.

All case studies
Hire me

Let's talk.

Got a Laravel codebase that needs untangling without breaking the public flow? Get in touch.