When a single outside developer holds your source control, your servers, your DNS and your deploy keys, you do not have a vendor — you have a dependency you cannot survive. Sun Tile's ERP is the system of record for the whole operation: builders, communities, tract plans, jobs, work orders, invoices, installer payments and stock ordering. If it went dark, the company could not bill.
The relationship with that developer had deteriorated. So the problem was not primarily a code problem, it was a custody problem with a hard sequencing constraint: recover the code and the data, stand the system up somewhere the client actually owns, and do it without an outage in a business that invoices daily.
Underneath the custody issue sat real technical debt. The application runs on Laravel 5.3 and an AngularJS single-page front end — both long past end of life — with no continuous integration, no automated checks, and deploys that happened by hand on someone else's machine.
And separately, the public website was a WordPress and Divi build where every new service area meant another page hand-assembled in a visual editor.