What is Legacy code?
Read in RomanianLegacy code
Why it matters
Most software work is not greenfield. Sooner or later you take over code someone else wrote: a previous agency, a founder, a developer who left, or an AI tool. How safely you can change that code decides how fast you can move, and whether each change fixes one thing or breaks two.
What makes code "legacy"
It is less about age and more about fear. Code becomes legacy when no one can change it confidently, usually because there are no tests to catch a regression, no documentation of why it works the way it does, and no one left who remembers. A codebase written last month can already be legacy if it was vibe-coded and never understood.
Where teams get it wrong
The instinct is to rewrite from scratch, which throws away years of hard-won edge cases and usually costs far more than expected. The better first move is to understand it: add characterization tests around the behaviour you must preserve, then change it in small, safe steps.
How we approach it
We treat inherited code the way we treat a technical audit: map what it does, find the load-bearing risks, and price the work. Rewrite only the parts that genuinely cannot be changed safely, and keep the rest running.
Related terms
Used in
- Auditing AI-Generated Code: What Actually Breaks in ProductionWhen an app is built mostly by AI, a specific set of failures recurs. The checks we run on AI-generated code, and why each one bites once real users arrive.
- Your vibe-coded MVP just got users. Here is what breaks first.You built an MVP with AI in a weekend. Now it has real users, and it is starting to break. Here is the honest harden-or-rebuild decision, and what fails first.