The situation
The codebase was old — stretches of it ran on PHP 5.3 and 5.4 by the time I joined — and the team had settled into a Sisyphean rhythm of bug-squashing and incremental modernization while the underlying foundation kept eroding. Substantial cleverness was going into Docker configurations just to keep the older pieces running. The lead engineer was increasingly pulled toward funding and organizational work as the nonprofit's situation became more precarious, which meant day-to-day engineering direction needed to come from somewhere.
The team was horizontally structured, so roles were less title-driven than decision-driven. Over time I moved into the technical lead position in practice before there was a title for it.
What I did
My call — made in consultation with the leads, but my recommendation — was to stop treating the platform as something to maintain and start treating it as something to re-engineer. The Sisyphus situation wasn't going to resolve itself; every sprint spent patching older code was a sprint not spent on the architecture the platform actually needed to have long-term.
I started with the API and backend, rebuilding around the same extensibility and service-agnostic philosophy that had made CASH Music distinctive in the first place, but on modern, maintainable foundations. I was able to add genuine novelty to the extensibility layer in the process — the rebuild wasn't a port; it was a second-generation version of the same ideas, designed to make the pluggable-services philosophy cleaner than the original had been. I got a substantial way through the backend and began the same work on the frontend.
What happened
The organization folded in 2020. The combination of pandemic-era funding difficulties, IRS issues around nonprofit status, and key personnel departures made continuing impossible. The platform didn't relaunch under the rebuilt architecture.
I want to be clear about that: the re-engineering work was real and substantial, and the architectural decisions behind it were the right ones. What didn't happen was the shipping of that work to the public, and the reason was organizational, not technical. The platform ran until shutdown and served its community well to the end.
Stack
PHP, Laravel, JavaScript, Redis, MySQL, Apache, Jenkins, Docker.
Related services
Have something similar in front of you?
Book an intro call. If we're not a fit, I'll tell you on the call.