Software project rescue: take back control of code nobody can maintain

Your app runs, but nobody left can change it safely. We audit the existing code, stabilise production, then take over development. Fixed-price audit at €2,500.

What is a code audit and project takeover?

A project takeover means adopting an application built by another team: auditing the existing code, identifying technical debt, stabilising deployment, documenting the architecture, then resuming development. The goal is to hand control of the product back to the person who owns it.

It is not a rewrite. A rewrite throws away work you already paid for and pushes your next release months out. A takeover starts from what already exists and already works. We propose replacing a component only when that specific component justifies it, and we say so before starting rather than halfway through.

Application maintenance and takeover

If what you need is an ongoing maintenance contract rather than a one-off audit, it is the same engagement taken from the other end. Maintenance is the contract that follows. The takeover is what makes it viable.

Maintenance starts with a takeover

We will not commit to fix times on an application we have not read. The audit comes first, the contract second, with a scope built on facts rather than an estimate.

What a maintenance contract covers

Corrective maintenance, evolutionary maintenance and keeping the thing running: fixing defects, version upgrades, and the functional changes that arrive along the way. Scope and response times come out of the audit, not a standard grid.

Choosing a maintenance supplier

Two questions matter: does the supplier read the code before committing, and does the contract let you leave. A maintenance contract that locks you to one supplier reproduces the exact problem that brought you here.

Signs your project needs a rescue

Five cases come up again and again. If you recognise one of them, a takeover is probably the right answer.

Your freelance developer stopped replying

The code is there, the person who wrote it is not. Nobody knows how to deploy it, or what breaks if you touch which part.

The relationship with your agency broke down

The relationship is stuck but the product still has to move. The handover has to happen without taking production down on the way.

Your technical co-founder left

The knowledge left with them. The app works, but every change is a gamble because nobody understands the architectural decisions any more.

You acquired a company and its in-house software

The internal tool came with the deal. You have inherited a codebase your team did not write and whose continuity you are now responsible for.

The app was AI-generated and nobody can evolve it

A prototype built with Lovable, Cursor, Replit or Bolt ended up in production. It works, right up until you need to roll it out company-wide, secure it, or simply change it.

The offshore team handed the project back

The delivery finished, the team rotated off, and what is left is a codebase nobody on your side can change. The daily rate looked cheap. Owning the result is where the cost landed.

Why cheap code stopped being cheap

Offshore pricing was built on one arbitrage: the same work, fewer euros per day. AI changed what that day buys.

Writing code stopped being the expensive part

AI collapsed the cost of producing code. It did nothing to the cost of owning it. Review, architecture, tests and the ability to change something safely two years from now all cost what they always did.

A day rate that has not moved

A supplier who has not adopted these tools still bills the same day for output that is no longer scarce. You are paying yesterday's price for the half of the job that got easy.

More code, same architecture

A supplier who has adopted them without changing how architecture gets reviewed ships more code per euro at the same structure. Volume went up. Nothing that makes a codebase maintainable went with it.

Either way the expense moved downstream, to the part you inherit. This is not an argument against working with a team abroad. It is why the audit looks at structure and test coverage before it looks at line count.

What platform hosting does not cover

An app generated by a platform is usually hosted by that same platform, on a subscription of roughly $15 to $25 per month per app. For a tool you use on your own, that is often the right call, and we will tell you so plainly. Three things change the maths.

The subscription threshold

Past $15 a month, a subscription has to justify itself. While the tool serves one person the sum is trivial. Multiplied across apps and users it becomes a budget line somebody will eventually question.

The ceiling you hit on rollout

Platform limits bite the moment the app outgrows individual use: per-app or per-seat pricing, quotas, no granular permissions, no way to connect your company directory. What was fine for one person blocks at organisation scale.

Security is not included

Hosting gives you a URL that responds. It does not give you a security posture: secret management, access control, data isolation, audit logging, GDPR compliance. On an app holding only your own data the stakes were low. As soon as it touches customer or employee data, they are not.

And the code itself

The problems that only surface under real load are the same in every audit: N+1 queries that collapse response times as volume grows, logic duplicated instead of factored out, and no test coverage, so there is no way to change anything without risking a regression.

None of this is a dig at the tools. We use them too. It is simply the checklist to work through before rolling out an app that was generated fast.

Who owns your source code?

This is the first question we ask, before looking at any code. Without the right to modify the sources, a takeover is legally impossible, so the contract gets settled before the engineering.

Check before any takeover

  • The contract assigns the rights to the code produced, rather than granting a licence to use it.
  • You have admin access to the Git repository, or at minimum a complete archive of its history.
  • Hosting, domain name and database accounts are in your name, not the supplier's.
  • Proprietary dependencies and API keys are identified, with their licences and renewal dates.

If one of these is missing we help you unblock it before quoting the takeover. That is faster than discovering it mid-project.

How a takeover runs

Three steps, in this order. Each one ends with a deliverable and a decision: you can stop when the audit is done.

  1. 1

    Audit the existing code

    We read the codebase, map the architecture, measure technical debt and list security flaws. Deliverable: a report stating what is sound, what needs work, what should be dropped, with a costed estimate against each item. Two to five days depending on project size.

  2. 2

    Technical handover

    We get the project into a state a team that did not write it can work in: reproducible development environment, tests on the critical paths, architecture documentation, automated deployment pipeline. After this step, making a change is no longer a gamble.

  3. 3

    Production migration and new features

    We move hosting onto infrastructure you control, set up monitoring and backups, then move on to product work. At that point we are your development team.

How much does a code audit cost?

Our prices are public. The audit is fixed-price, so you know what the first step costs before committing to anything after it.

ServicePriceWhat you get
Code audit€2,500 fixedFull audit report: architecture, technical debt, security, costed estimate of the work. No commitment to what follows.
Technical handoverfrom €800 per dayStabilisation, tests, documentation, deployment pipeline. The number of days comes out of the audit rather than a blind estimate.
Product developmentfrom €800 per dayBuilding new features once the project is back under control.

What moves the number of days

  • The size of the codebase and how many services have to be taken on.
  • Existing test coverage. With no tests, tests have to be written before anything can change safely.
  • The age of the dependencies and the language runtime. An unsupported version forces an upgrade before anything else.
  • The state of deployment. An undocumented manual deploy costs more to take over than an automated pipeline.

The €2,500 audit is deliberately a short commitment. If our conclusion is that the project should not be taken over, we say so and you keep the report.

Frequently asked questions

What is a code audit?

A code audit is an external review of an application's codebase. It covers architecture, code quality, test coverage, security and technical debt. It produces a report listing what is sound, what must be fixed, and what each fix represents in effort.

How much does a code audit cost?

At Reflekt Lab a code audit is fixed-price at €2,500, running two to five days depending on project size. The takeover that follows starts at €800 per day, and the number of days is estimated from the audit's findings rather than guessed beforehand.

Rebuild, refactor, or start over?

Almost never. A full rewrite discards work you already paid for and pushes your next release out by months. In the large majority of cases the right answer is to stabilise what exists, add tests on the critical paths, then replace the problematic components one at a time.

Can you take over an app built with Lovable, Cursor or Replit?

Yes, provided the source code can be exported. The usual concerns on these projects are security, missing tests, unoptimised queries and dependence on the original platform's subscription. The audit starts by confirming the export is complete and workable.

Who owns my application's source code?

It depends on your contract. A development engagement may assign the rights or merely license the software to you. Without the right to modify the sources, no other supplier can legally take the project on. It is the first thing to check, before any technical audit.

What if my current supplier has stopped replying?

We can work from whatever you have access to: the Git repository, a code archive, or in difficult cases the deployed application itself. We also help you recover missing access, particularly hosting and the domain name, which should be in your name.

How long does a project takeover take?

The audit takes two to five days. The technical handover generally runs two to six weeks depending on project size and test coverage. The two steps are separate precisely so that you decide on the second with a costed figure rather than a blind estimate.

What is in the audit report?

An architecture map, an inventory of dependencies and their support status, security flaws ranked by severity, a test coverage measurement, the failure points expected under load, and a per-issue estimate in days. The report is yours, including if you do not continue with us.

Which technologies do you work with?

Mainly Go, Python, TypeScript and React with PostgreSQL, on Kubernetes or managed platforms. We also audit PHP, Symfony and Node.js projects. If a technology falls outside what we can support, we say so before accepting the engagement.

What if the app has no tests at all?

That is the most common case and it does not block a takeover. The first task is writing tests for the critical business paths, the ones where an outage costs money. They act as the safety net for everything after. It is also the single biggest driver of the estimated day count.

How much does a code takeover cost?

A takeover runs in two stages. The audit is a fixed €2,500 and gives you the full report plus a costed estimate of the work, with no commitment to continue. If you go ahead, the technical takeover and the development that follows are billed from €800 per day. The number of days depends on the size of the codebase, whether any tests exist and the state of the infrastructure, and the audit gives you that number before you commit.

What is the difference between a source code audit and a technical audit?

A source code audit looks at the code itself: architecture, quality, test coverage, dependencies and security flaws. A technical audit is broader and also covers infrastructure, environments, the deployment pipeline, monitoring and hosting costs. We deliver both in the same €2,500 report, because in a takeover the two questions always arrive together.

How do you choose an agency to take over your code?

Three criteria settle it quickly. First, the agency should start with a separately billed audit and no commitment to continue: if you are offered a rewrite package up front, the proposal came before the diagnosis. Second, it should publish its prices, or at least give them before seeing the code. Third, it should be willing to tell you the takeover is not worth doing. We do, when that is the case.

Is offshore development still cheaper?

It depends what you are buying. The day rate gap is real and has not closed. What changed is that writing code, the part that gap applies to, is no longer the expensive half of a project. Review, architecture and maintainability are, and AI did not make those cheaper. A supplier who adopted these tools without tightening how architecture is reviewed delivers more code for your money at the same structural quality. The saving shows up on the invoice. The cost shows up when you need to change something.

How do you choose an application maintenance supplier?

Two things discriminate. Does the supplier read the code before committing to response times, and does the contract let you take the work elsewhere. Team size, certifications and location matter less than those two. A maintenance contract signed without an audit first commits the supplier to an application they do not know, and that always gets paid for on one side or the other.

What does a maintenance contract cover and what does it cost?

Corrective maintenance, evolutionary maintenance and keeping the application running. Ours starts after the €2,500 fixed-price audit, then from €800 per day, with the number of days set by what the audit found. On a takeover we set that volume after reading the application, because the price depends entirely on test coverage and the age of the dependencies.

Lost control of an application?

Tell us what happened and which technologies are involved. We will tell you honestly whether a takeover is worth it, and what it would take.

purple linear waves