Maybe an agency delivered something that almost works. Maybe a contractor got 80% of the way and stalled. Either way, you're holding a codebase that won't quite ship, and every quote to "just finish it" comes back vague and expensive.
The instinct is to start over. Usually that's the wrong call. Starting over throws away real work and buys you a fresh set of unknowns. A rescue is almost always faster and cheaper.
What a rescue actually looks like
It's not magic, it's a methodical process:
- Map the ground. I read the code and get it running locally so I understand what's really there, not what a status report claims.
- Triage honestly. What works and can stay, what's broken and must be fixed, and the small slice that's genuinely worth rebuilding.
- Ship the smallest working thing. Getting it deployed and stable comes first; the polish comes after you can see it working.
"Finish it" and "rebuild it" are not the only two options. Most rescues are mostly finishing, with a little rebuilding where it counts.
Why the last person got stuck
Often it's not incompetence, it's that the original scope drifted, the deadline collapsed, or the one person who understood it left. None of that means the work is worthless. It means the project needs someone to walk in clear-eyed, take an honest inventory, and get it moving again, for a fixed price, so you finally know what "done" costs.