A staged plan to recover ownership and editability of the platform — delivered as three sequential contracts: Web, then Android, then iPhone.
The databases, backend functions, and services are live and working — they stay exactly where they run. This is not a migration. The previous developer's source code sits in a private GitHub account no one but he can release, so the realistic plan assumes we never get it: we recover what we can ourselves, and rebuild what's locked away.
| Piece | Situation | Plan |
|---|---|---|
| Website | Source is readable in Vercel — we can reconstruct it ourselves | Recover from Vercel (no developer needed) |
| Lead & Job app | Only the compiled build exists; editable source is locked in the private repo | Rebuild to parity from the running app + recovered backend |
| Background services | Small; private repo, but behavior + data are known | Rebuild from behavior; payment proxy already recovered |
| Database, functions, media | Live and fully backed up | Keep running; change ownership + keys only |
Goal: Website recovered and owned, web Lead & Job app rebuilt to parity and editable — both running on the existing live backend.
Goal: Republish the Android app under the client's own Google Play account, built from the rebuilt shared codebase (Contract 1). Runs on the same backend.
Goal: An iOS version published under the client's Apple account, built from the same rebuilt codebase, on the same backend.
No iOS app exists today. Once the app is rebuilt in Contract 1, iOS is an additive target — the backend already handles Apple in-app purchases.
| Each contract ends owned | The client owns a running, editable piece before committing to the next — lower risk, faster trust. |
| Web is the foundation | Backend, database, auth, and payments all sit behind the web layer — recover it first. |
| Mobile reuses the codebase | Android and iPhone come from the same Flutter codebase rebuilt in Contract 1, so they cost far less per platform than starting fresh. |
The website's source is readable in Vercel, so we recover it ourselves. The app's editable source is not — it lives only as a compiled build, with the real source locked in the previous developer's private GitHub account that no one but he can release. So the app is rebuilt to parity from the running version and the recovered backend. If he ever volunteers that repository, the app becomes a recovery and the cost drops — but the plan does not depend on it.