Twenty years of one person's decisions baked into infrastructure that nobody else could see into, let alone maintain.
And the business couldn't stop. Law offices were calling every day with appearance requests — a conflict on the fifth, this court, this case, can you send a fill-in? Attorneys were waiting for assignments. Courts don't care about your developer situation.
What the system was supposed to do.
The workflow was straightforward on paper. A law office submits an appearance request. Available attorneys see the offer, accept or decline based on their schedule. The assigned attorney downloads the relevant documents, handles the appearance, and logs the result. A grading system behind the scenes ensured the most reliable attorneys got the most work. Payments tracked against completed appearances.
Clean logic. The kind of workflow that should run smoothly.
What it was actually built on.
The FileMaker core was solid. The original developer knew what he was doing and the core data model and attorney grading logic were well built. But somewhere along the way the attorney-facing portal got farmed out — a PHP website assembled from copy-pasted snippets until it sort of worked. Then someone decided to host on AWS because it was the trend, despite having no real AWS experience.
Three different people. Three different skill levels. No one fully coordinating. The whole thing held together on familiarity and habit — specifically one developer's familiarity and habit. When he left, that knowledge left with him.
The actual problem.
Data moved between the PHP portal and FileMaker on AWS. Attorneys logged results on the website. FM tracked payments and work history. On paper the handoff made sense. In practice nothing verified that data actually arrived — intact or at all. An attorney could log a completed appearance and it might transfer cleanly or it might not. Emails weren't firing to the right people at the right time. The system looked like it was running until something didn't show up and nobody could trace why.
Too many technologies solving a problem that didn't require that many technologies.
The decision.
Don't add complexity to complexity. Simplify back to what was reliable. The FileMaker core was sound — rebuild the attorney portal forms inside FM to match what the PHP site was doing and eliminate the brittle transfer layer entirely. One system, one place where data lived, nothing sending records across a wire and hoping they arrived.
I fixed the email triggers, stabilized what was running, and started offloading the PHP steps back into FileMaker while the full rebuild was underway.
On Christmas Day the owner sold the business to a competitor.
The rebuild didn't finish. But the system was running. The data was clean. When the acquisition happened everything exported intact — which is not something anyone could have guaranteed six months earlier.
Sometimes the win isn't a finished product. It's a business that survived long enough to have options.