Yes, Lovable lets you connect a project to GitHub and keep a versioned copy of the code. But having the repository is not the same as owning the whole product.
That distinction becomes important the moment you want to bring in another developer, move hosting, change databases, leave a platform, or recover from a broken deployment.
Lovable’s current GitHub documentation says connecting a project gives you code backup, two-way sync, local development, collaboration and the ability to deploy elsewhere. It also calls GitHub the source of truth once connected.
That is excellent for code ownership.
The rest of the product still has to be mapped.
I build products with AI-assisted tools, GitHub, Supabase and Cloudflare. One lesson that keeps showing up is this: portability is a chain, and the weakest unowned dependency determines how portable your product really is.
1. Put the repository in an account you control
Do not make a contractor’s personal GitHub account the permanent home of your product.
Record:
- repository owner;
- default/production branch;
- latest known-good commit;
- who has admin/write access;
- whether Lovable still syncs to it;
- whether production deploys from it.
Lovable warns that renaming, moving or deleting a connected repository can break its sync, so treat repo moves as migrations rather than casual housekeeping.
2. Prove the code builds outside the Lovable editor
A repository is much more useful when somebody can clone it into a clean environment and reproduce the build.
Test:
- Clone the repo into a clean machine or CI runner.
- Install dependencies from the lockfile.
- Supply documented environment variables.
- Run checks/tests.
- Build the application.
- Start or deploy it using the intended runtime.
If the build only works on one person’s laptop, you have a backup, not yet a reliable handoff.
3. Identify who owns the backend
Lovable projects can use Lovable Cloud or Supabase. Those are not interchangeable ownership models.
Supabase’s current documentation specifically notes that a backend provisioned through Lovable Cloud can be managed by Lovable rather than appearing in your own Supabase dashboard. Before planning a migration, establish which model your project actually uses.
Record:
- project/account owner;
- database schema and migrations;
- Auth configuration;
- RLS/authorization rules;
- Storage buckets and policies;
- Edge Functions;
- backups/export path;
- production data location.
Lovable also documents an external deployment and hosting path for moving the app and, where required, migrating backend pieces deliberately.
4. Inventory secrets without copying them into a document
A handoff needs to know which secrets exist and who owns the accounts, not paste secret values into Markdown.
List names and owners for things such as:
- payment secret keys;
- email provider credentials;
- OpenAI/AI API credentials;
- Supabase service credentials;
- webhook secrets;
- Cloudflare/API tokens;
- analytics IDs.
Lovable’s current FAQ explicitly warns not to put sensitive API keys directly into prompts/client code and recommends secret storage with server-side functions.
5. Own the domain and DNS
Your product is harder to control if the domain lives in somebody else’s registrar account.
Record:
- registrar account owner;
- DNS provider;
- apex and
wwwbehavior; - important subdomains;
- production origin;
- mail records;
- any Cloudflare Workers/redirect rules.
Do not transfer a live domain on the same day you are migrating the application unless you have a strong reason. Change one boundary at a time.
6. Map deployment separately from source code
GitHub may be correct while the live app still deploys from somewhere else.
Record the production host, connected repository, production branch, build command, environment variables and current deployed SHA.
If you are moving to Cloudflare, see my Lovable to Cloudflare Workers guide.
The key test is simple: can you point from the live URL back to the exact source commit that produced it?
7. Map payments as an operational dependency
If the app accepts money, inventory more than the API key.
Record:
- payment-provider account owner;
- webhook endpoints;
- callback/redirect URLs;
- product/price identifiers if used;
- where transaction references are stored;
- what event actually grants value or changes payment state.
Moving the frontend without updating webhook or callback destinations can leave the interface healthy while payment state stops updating.
8. Write down the product rules the code is supposed to preserve
This is the piece most “code export” guides miss.
A developer needs to know things such as:
- who may create/read/update each important resource;
- what must happen atomically;
- which records can be edited versus reversed;
- what states are valid;
- what a successful payment means;
- what happens on retry;
- what must never happen twice.
Those rules are part of the product even when no single source file explains them.
A product-ownership checklist
| Layer | Question |
|---|---|
| Code | Is the repo in an account I control? |
| Build | Can a clean environment reproduce it? |
| Database | Do I know who owns the project and data? |
| Auth/RLS | Are access rules explicit and testable? |
| Secrets | Do I know the accounts and secret locations? |
| Domain/DNS | Is ownership under my control? |
| Deployment | Can I trace production to a commit? |
| Payments | Are webhooks and state transitions documented? |
| Product rules | Can another developer explain what must remain true? |
That is what I mean by owning an AI-built product.
GitHub is an important step, but it is not the final checkbox.
If you are preparing a Lovable app for external hosting or developer takeover, my AI-built app production checklist is the next useful audit. If you want someone to map the system before you move it, contact me.



