We work in your timezone - UK / Europe / Canada / Gulf London Dublin Toronto Dubai
Home / Guides / Freelancer abandoned my project
Guide · Project rescue

Your freelancer abandoned the project. Here's the recovery plan.

It doesn't matter whether you hired on Fiverr, found someone on Upwork, took a referral, or used a local freelancer down the road — the failure mode is identical. Replies slow down, then stop. The demo link still half-works. And somewhere between their laptop and a handful of accounts you may or may not control sits everything you've paid for. This guide is the recovery sequence: confirm it's really abandonment, get your assets back in the right order, understand where you stand on ownership, secure everything, and only then decide who finishes the build.

In short

When a freelancer disappears mid-project, work the sequence — don't skip ahead. Send one final written message with a deadline. When it passes, recover assets in priority order: source code first, then domain, hosting, database and secrets, payment accounts, app-store accounts. Get your contracts and invoices in one folder before any ownership argument. Assess what's salvageable before paying anyone to continue. Rotate every secret and revoke the old freelancer's access before a new team touches anything. Then choose the right replacement for your budget — another freelancer at small scope, a named team when real money is at stake.

Step 1 — Confirm it's abandonment

One respectful final message, with a deadline, in writing

Before you do anything irreversible, rule out a life event. Freelancers get ill, lose family members, and burn out — silence is more often a crisis than a con. A furious message closes the door; a respectful one with a firm deadline keeps every option open, including the good outcome where they resurface and hand everything over cleanly.

Send it in writing, on the channel your contract or platform recognises — the Upwork or Fiverr message thread, or email for a direct hire — so there's a timestamped record. Say that you understand something may have come up, that you need either a status update or a full handover of work to date, and that if you hear nothing by a specific date (seven days is fair) you'll treat the engagement as ended and proceed accordingly.

If the deadline passes in silence, stop waiting. Everything from here on assumes abandonment — and none of it prevents a reconciliation later if they reappear with a good reason.

The final message should
  • Be respectful — leave room for a genuine emergency
  • Set one specific date — a deadline, not "soon"
  • Ask for the work so far — repo access or a zip, either way
  • State the consequence — engagement ends, recovery begins
  • Live on the record — platform thread or email, never just a call
Step 2 — Asset recovery

Get your assets back, in this order

Priority is set by how hard each asset is to recreate. Code can take months to rebuild; a domain can be irreplaceable if your brand lives on it; a database may hold customer records that exist nowhere else. Work down the list and, for each one, establish who actually owns the account — it's often not who you assume.

AssetWhat to recoverHow to check who owns it
1. Source codeAn invite to the Git repository, a full zip of the working tree, or — worst case — the deployed bundle copied off the serverLog into GitHub, GitLab or Bitbucket: is the repo under your account or organisation, or theirs? If you've never had a login, it's theirs. Search your email for old repo invitations and zip attachments.
2. DomainRegistrar account access, or a transfer of the domain into an account you controlRun a WHOIS lookup on the domain and search your inbox for registrar receipts (renewal emails are the giveaway). If the freelancer's email is the registrant contact, the domain is effectively in their hands.
3. Hosting & cloudOwner-level access to the AWS, DigitalOcean, Vercel or similar account the app runs on — not just a deploy keyWho receives the invoices, and whose card is billed? Check your bank statements. If you've never seen a hosting invoice, the account isn't yours.
4. Database & env secretsA fresh database dump plus the environment configuration (API keys, connection strings) the app needs to runUsually lives inside the hosting account — if you get server access, export the database and copy the env files immediately. If the database is hosted separately, check which email its service invoices go to.
5. Payment accountsOwnership of the Stripe, PayPal or similar account taking your customers' moneyLog into the dashboard: are you the account owner or just a team member? Whose bank account receives the payouts and whose company details are on the account?
6. App-store accountsThe Apple Developer and Google Play accounts the app is published under, or a formal app transfer to yoursWhose card paid the developer-programme fee, and whose ID verified the account? Apps published under a freelancer's personal account can typically only be transferred out by that account's owner — which is why this one can't wait.

Capture everything as you go — screenshots, exports, email trails. Even a deployed front-end bundle you can't fully reuse makes a rebuild dramatically cheaper, because the behaviour and design are already specified.

Step 3 — The IP reality check

Where you actually stand on ownership, in plain language

If you paid in full and your contract assigns the work to you, the position is strong: the code, designs and documentation are yours, and a freelancer withholding them is withholding your property. Most marketplace terms also point ownership of delivered, paid-for work at the buyer.

If there's no written contract, the default is less friendly than most founders expect. In the UK and Canada, copyright in commissioned work commonly stays with the contractor until it's assigned in writing — paying for the work generally earns you a licence to use what was delivered, but not automatic ownership. The UAE has its own copyright regime with the same broad theme: writing beats assumption. These defaults differ in detail between jurisdictions, which matters when you and the freelancer are in different countries.

If invoices are unpaid, be honest with yourself about it. A freelancer who is genuinely owed money has real leverage and, depending on the terms, a defensible reason to withhold work. The fastest resolution is often commercial, not legal: settle the undisputed amount in exchange for a short written IP assignment and a complete handover.

Before any dispute — platform, negotiated or legal — gather the file: the contract or platform terms, every invoice and payment record, and the message history. That folder decides most disputes long before a lawyer would. None of this is legal advice; if serious money or a live customer base is at stake, spend an hour with a solicitor in your own jurisdiction before acting.

Step 4 — Salvage assessment

Find out what's worth keeping before paying anyone to continue

Not every abandoned codebase deserves rescuing — and not every messy one deserves the rewrite a new developer will instinctively recommend. The only way to know is a structured salvage assessment: does it build and run, is there a coherent architecture underneath, what share of the promised features actually work, and what would finishing cost versus starting clean?

Do this before hiring a replacement, not after. A written assessment turns "trust me, it's all rubbish" into an itemised decision you can sanity-check — and it's the single best defence against paying twice for the same work. We've written a full walkthrough in how to finish an abandoned app.

The four salvage questions
  • Does it run? Builds from source and starts without hand-holding
  • Is it sound? A structure a new team can extend, not fight
  • How much works? Features tested against the original scope
  • Finish or restart? A costed comparison, in writing
Step 5 — Lock the doors

Rotate every secret before a new team touches anything

This is the step founders skip, and it's the one that bites hardest. Your former freelancer may still hold SSH keys, API credentials, database passwords, deploy tokens and admin logins. Almost certainly they'll never use them — but "almost certainly" is not a security posture, and a new team inheriting a system with unknown access is inheriting your risk.

So before anyone new gets credentials: rotate every API key and database password, revoke the old freelancer's repo and cloud access, remove their SSH keys and deploy tokens, move 2FA onto devices you control, and change the passwords on the registrar, hosting and payment accounts you recovered in step 2. The full checklist — and how a professional team runs it during a handover — is in taking over another developer's code.

Rotation checklist
  • API keys & tokens — payment, email, maps, every third party
  • Database passwords — after taking a fresh backup
  • Cloud & repo access — revoke their users, keys and deploy tokens
  • Account passwords & 2FA — registrar, hosting, stores, payments
  • Then audit — check access logs once the doors are locked
Step 6 — Finishing the build

What a professional takeover costs, honestly

A takeover is more work than the same features on a greenfield project: the incoming team has to audit unfamiliar code, reconstruct missing context, fix what blocks progress and take responsibility for decisions they didn't make. That's why professional takeovers typically start around £8,000–£12,000, with the final figure depending on the state of the codebase and how much of the original scope is left. If the salvage assessment says the remaining work is small and the code is clean, it can be less; if the foundations are unsound, an honest team will show you why a partial rebuild costs less than a heroic patch job.

Whoever you choose, apply the lessons of the failure you've just lived through: repositories in your name from day one, milestone billing so you never pay far ahead of delivered work, and senior engineers you've actually met. Our app rescue service is built exactly this way — a paid audit first, then a fixed, published plan to finish — and every figure we charge is in the Open Price Book. If your remaining scope is genuinely small, we'll tell you a team is the wrong tool and point you back to a senior freelancer.

Questions & answers

Abandoned project recovery — FAQ

How do I know the project is really abandoned and not just delayed?
Send one respectful final message, in writing, with a specific deadline — seven days is reasonable. Ask for a status update and a copy of the work so far either way. Freelancers are people: illness, family emergencies and burnout are more common than malice, and a message that leaves room for a life event often gets a reply that anger would not. If the deadline passes in silence, treat the project as abandoned and start recovery — you can always resume goodwill later.
Can I get my money back?
Sometimes, and it depends almost entirely on how you paid. If you paid through a marketplace with escrow — Upwork's escrow is genuinely good buyer protection — open a dispute within the platform's window; undelivered milestones are commonly refunded. Fiverr has a resolution process for undelivered orders too. Card payments can sometimes be disputed through your card provider within its time limits. Direct bank transfers are the hardest: your options are negotiation, a formal letter, or a small claim, which gets complicated fast if the freelancer is in another country. Be realistic about the cost of chasing money — recovering your code, accounts and momentum is usually worth more than the refund.
Who owns the code if I paid half?
It depends on your contract, and the honest answer is that half-paid projects sit in a grey zone. If your agreement assigns intellectual property to you as the work is created, the delivered work is likely yours even with invoices outstanding — though unpaid invoices give the freelancer real leverage and, in some setups, a claim to withhold. With no written contract, the default in the UK and Canada is that copyright often stays with the freelancer until it is assigned in writing; paying for work generally earns you at least a licence to use what was delivered, but not clean ownership. The pragmatic route is usually to settle undisputed invoices in exchange for a short, written IP assignment and a full handover — that is almost always cheaper than a legal dispute. This is general information, not legal advice.
The only copy of the code is on the freelancer's laptop or in their accounts. What now?
Work through what you can reach. If the app is deployed and you control the hosting, the server usually holds a copy of the running code, the database and the environment configuration — download everything before touching anything else. Search your email for repository invitations, zip files and attachments from earlier milestones. If you hired through a platform, its support team can sometimes help you obtain deliverables you have already paid for. A deployed front-end bundle is not full source code, but it makes a rebuild much cheaper because the behaviour and design are already specified. If none of that yields source, plan for a partial rebuild and get a salvage assessment before committing to anyone.
Should I hire another freelancer or a team to finish it?
Match the answer to your budget and what is at stake. Under about £5,000, another carefully chosen freelancer is the right call — an agency would be a bad deal for you at that scope. Between £5,000 and £12,000, one vetted senior freelancer can work well if the repository sits in your name from day one and you check references properly. Beyond that — or if the abandoned project already represents serious money — a named team with published prices and milestone billing is the safer route, because a takeover needs accountability as much as it needs code. Professional takeovers typically start around £8,000–£12,000.

Stuck mid-recovery? Get a straight answer.

Book a free 30-minute call with a senior engineer — in your working hours. We'll tell you what's salvageable, what the takeover would honestly cost, and whether a team is even the right tool for your budget.

Book a free rescue call →