Keep a copy you own, the app and its data¶
Verified: 2026-10-13
In developers' words: A private repository you own, a database export, off the platform
By the end of this level your app is under your own name on GitHub, checked, and one copy of its database sits on your own drive, where the platform cannot touch it.
"A copy you own."¶
The platform is down. Or your account is frozen, or support has not answered in six days, and
your app is in there. Everything you made in level 1 lives on their servers too, unless you did
one more thing. And v1-works never held what your users wrote: going back to it brings back
your app and leaves their data exactly where it was. That is how a year of work becomes
something you ask permission to see.
Developers keep two copies the platform cannot take: the app in a private repository under their own name, and the database as an export, a backup, on their own drive. A world on your own drive outlives the console. This is also the one place your app is not like the game: a commit holds the world, never the database. Three sentences.
The platform's copy is the platform's¶
- On their servers, under their account, at their price. Until the day it isn't. A frozen account, a price change, a company that closes: your app goes with it unless a copy lives somewhere they cannot reach.
- A commit never holds the database. Every undo on this course brings back your app and leaves what your users wrote where it is. This is how people with GitHub connected still lose their data.
- Support is not a backup. Six days without an answer is six days your app is not yours. A copy on your own drive answers in six seconds.
- You can't avoid it. "Repository", "export", "backup": every platform's settings page has them, and every "we are shutting down" email ends with one. Better to find out now what the export leaves out than the week the platform is down.
- Five minutes now, or everything later. After this, "is my app mine?" costs you one sentence, and the answer is yes.
The level in one picture¶
their servers, their account
- your app, as a folder
theirs, while it sits here
no commit holds it
your app on GitHub, under your own name
- owner: you · private
every commit, v1-works too
the database as a file, on your own drive
guest-book-2026-10-13.sqlevery table, every row · off the platform
- brings your app back from the repository.
- It never reaches the database:
- only the export brings that back.
Check that the copy on GitHub is yours¶
This step checks what level 1 made: that the repository on GitHub is under your own name, private, and complete. If the owner is an organisation with the platform's name in it, the repository is theirs, not yours.
Prompt: Open the GitHub repository this project is connected to and tell me: whose account owns it, is it private, and does it have every commit and tag that exists here? If anything is missing, push it now.
✓ Your username as the owner, "private", and "nothing missing". The thing that matters is that you can open it on github.com, signed in as yourself, with the platform closed, and see the latest commit there.
- Before
Your app as a folder on the platform's servers, under their account.
- After the prompt
The same app under your own name, private, every commit in it. Checked, not assumed.
Export the database to a file, once¶
A commit never holds the database, so you export the database itself: what your users wrote, every table and every row, as one file. "Anything that is not in it" is the important answer: uploaded images, logins and secret keys often live somewhere else.
Prompt: Export everything in this app's database, every table and every row, to a file I can download and keep. Tell me where the file is, how big it is, and anything that is not in it.
✓ A file you can download, its size, and a sentence about what is not in it. The platform has its own export button? Use it too, then ask this anyway: the button's export and the full export are not always the same thing.
Move the file somewhere that isn't the platform¶
A backup kept on the platform goes down with it. This step moves the export off the platform, onto your own computer or your own cloud drive, and deletes the server copy once yours is safe. It holds your users' data, so the link must not be public.
Name the file with the tag and today's date, and keep it somewhere you already back up.
Prompt: Tell me where the export file is saved and whether that location is on this platform's servers. If it is, give me a download link so I can keep a copy off the platform, on my own computer, and delete the server copy once I say I have it.
✓ A download on your own computer, and nothing left on the server. Too big to download in one go? Ask for it one table at a time.
- Before
The file is on the platform's servers. A backup that lives on the thing it backs up isn't one.
- After the prompt
The file is on your own drive, and the server copy is gone.
Go back to v1-works, and watch the database stay¶
See the one limit once, safely, on the preview from level 3. Nothing here touches your users. Four prompts, one at a time.
Prompt 1: Add one row to the preview's database by using its form, then show me the row.
Your row, with whatever you typed, in the preview's database.
Prompt 2: Go back to the save point
v1-workson the preview.
The preview's app is back at v1-works. Nothing is said about the database.
Prompt 3: Is the row from a moment ago still in the preview's database?
Yes. It is. The reset came and went, and the database did not move.
Prompt 4: Export the preview's database to a file, and tell me whether that row is in the file.
Yes. The export holds it. That is the only thing on this course that does.
- Prompt 2
Back at
v1-works. The app is back; the database is not mentioned. - Prompt 3
The row is still there. Going back never reached it.
- Prompt 4
The export holds the row. It is the only thing that does.
That is the limit, seen once. Next Tuesday, when the platform is down, you have your app under your own name and the database as of your last export, and you type "export every table and every row" the moment it comes back.
An export is as old as the day you made it¶
One limit. The export holds the database as it was when you made it, and nothing your users wrote since. Once is enough to know you can, and to know what the export leaves out. Exporting on a schedule is the next page of this habit, and the last page of the course says where that row is.
Common problems¶
The owner is the platform's organisation.
Then the copy is theirs. Ask "create a private repository under my own account and push everything there, every commit and every tag", then send step 1's prompt again.
The platform connected GitHub for me.
The repository may be under your account but created by their app, which is fine. The thing to confirm is that you can open it on github.com while signed in as yourself, and that the latest commit is there.
There is no way to download the data at all.
That is the finding, and the last page's row for it is for you. An app whose data cannot leave the platform is an app you rent.
The file is too big to download in one go.
Ask for it one table at a time. If the tool cannot give you a link, the platform's own export button from step 2 can.
The download link is public.
It holds your users' data. Download it, then ask "delete the server copy and make sure that link no longer works", and confirm by opening the link again.
The platform offers a "backup".
Ask where it is kept. A backup that lives on the platform goes down with the platform. Keep it, and keep your own copy off it as well.
On Lovable and Bolt.new.
Step 1 is their GitHub connection in the project's settings: open the repository on github.com yourself and check the owner. Step 2 is your database provider's export, usually Supabase, from its own dashboard. Not yet tested there.
Each thing on this page, with its three names¶
| In the game | Developers say | Plain |
|---|---|---|
| the world folder | the project folder |
your app as a folder |
| your world on your own drive | a private repository |
a copy you own, under your own name |
| a copy of the guest book | an export, a backup |
the database as a file |
| your own drive | an off-platform backup |
somewhere that isn't the platform |
| (no game word) | code is versioned, data is not |
loading a save brings back your app, not its data |