The Greenfield Rewrite That Diligence Talked Us Out Of
Technical due diligence revealed that refactoring beats a risky rewrite.
· 2 min read

# The Greenfield Rewrite That Diligence Talked Us Out Of
Before I wrote a line of code on an inherited beta, the assumption going in — set during earlier screening conversations — was that the right move was a clean rewrite on a modern stack. That assumption didn't survive a week of actually reading the codebase.
## What a real audit looks like
Technical due diligence isn't a vibe check against a framework's reputation. It's reading the actual code: a single-page frontend paired with a monolith backend and an embedded interpreter sidecar, a 5,400-line route file that had grown one endpoint at a time with no decomposition, a dependency on an ORM that had been effectively abandoned upstream, and — the finding that should end any conversation about "just keep going as-is" — secrets committed directly into the repository's history.
## Why the greenfield answer was wrong anyway
None of those findings, individually or together, actually argue for a rewrite. A messy route file is a refactor, not a rewrite trigger. A dead ORM dependency is a swap. Committed secrets are a rotation-and-history-scrub problem, uncomfortable but bounded. What they collectively argued for was lifting the existing application onto managed, production-grade infrastructure and cleaning up in place — cheaper, lower-risk, and faster to a working production environment than a rewrite that would have re-introduced every integration bug the existing code had already worked through, just under a different stack.
## The part that's hard to say out loud
Recommending "keep the thing that looks bad" is a harder conversation than recommending "let's do it right this time," because the second one sounds more competent in the room even when it's the worse call. The written assessment laid out the actual findings, the actual risk of each one, and the actual cost of a rewrite versus a lift-and-clean — and let the evidence make the case instead of the instinct. The lift shipped, verified end to end on its own domain, in a fraction of the time a rewrite would have taken to reach the same starting line the old system was already past.
More in Features
The Second Vendor Nobody Was Actually Calling
Adaeze Okorie
Trust me, it works" is not a migration plan: what a real parity harness looks like
Priya Subramaniam
The Property Lookup That Silently Returned "Not Found"
Marcus Delacroix-Huang


