KUMODeck

Add login and cloud saves to a vibe-coded game

Yes, your AI can add login and cloud saves to a game you vibe-coded, with no database or sign-in provider to set up. Players start as guests, their progress is saved in the cloud, and they sign in later to keep it on every device. Ask your AI for each step, in the order below.

Your game is online and people play it. Then the questions start: "I played on my phone, why is my progress gone on my laptop?" Players expect two things that a game made in an afternoon usually does not have: their progress kept somewhere other than one browser, and a way to sign in so it follows them.

You can ask your AI for both. KUMODeck has sign-in and cloud saves as parts your AI can turn on, so there is no database to set up and no sign-in provider to register with. This page shows the order that works well: guests first, saves next, sign-in last.

Why guests first#

A player who has to make an account before the first round often leaves. With KUMODeck, everyone starts as a guest without doing anything: the first visit creates a guest player, and the same browser comes back to it on every visit after that. When a player cares about their progress, they attach a way to sign in to that same player and keep everything. Nothing is lost at the moment they sign in.

So the first step is not a login screen. It is saving progress for the guest.

1. Save progress in the cloud#

Ask your AI in the game's project:

Ask your AI
Save each player's progress to the cloud with KUMODeck: level, best score and settings. Load it when the game starts.

What your AI does:

  1. Turns on cloud saves for the project (kumodeck features on saves, then pushes the config to the development version).
  2. Writes the progress as a JSON save under a slot key, for example progress and settings, with kumo.saves.set and reads it back with kumo.saves.get when the game starts.
  3. Deploys to the test version and gives you the link.

Each slot has a version, so two devices cannot silently overwrite each other. If the game might run on two devices at once, ask: "Write the save so that two devices cannot overwrite each other." Your AI then writes with ifVersion and merges when there is a conflict. The details are in Cloud saves.

Try it: play a few levels on the test link, close the tab, open it again. The progress is there.

2. Let players sign in to keep it everywhere#

A guest's saves belong to that guest player on that device. To carry them to a phone and a laptop, the player signs in. Ask:

Ask your AI
Add a "Sign in to keep your progress" button with Sign in with KUMODeck. Keep the guest's saves when they sign in.

Sign in with KUMODeck is the quickest way to give players a real account:

  • You only turn it on. KUMODeck is already registered with X, Discord and Google, so there are no apps or keys to set up. Players sign in with X, Discord, Google or an email link.
  • The email is never passed to your game. Your game gets an ID made just for it and a display name.
  • One account works in every app and game on KUMODeck, so a player who signed in somewhere else once is one click away.

If you would rather have your own sign-up screen, ask for email and password instead. Players confirm by email, and KUMODeck sends the confirmation and password-reset emails for your game. Both ways, and connecting your own sign-in provider, are in Authentication.

Try it: play as a guest on the test link, press the button and sign in. Then open the test link on another device, sign in the same way, and the progress is there.

3. Publish#

When both work on the test version, say "publish it" and press Publish on the KUMODeck page that opens. Saves are kept per environment: what you saved while testing never shows up in the published game.

An example: one of Sara's games#

Sara is one of us at KUMODeck and makes small browser games with an AI to try it out. Rail Dash, one of them, is a runner: run the subway, dodge the trains, then fly. Its saves could look like this:

SlotWhat is in itWho may change it
progressthe furthest station reached and the best runthe player's own game
settingssound on or off, left- or right-handed controlsthe player's own game

A player starts as a guest, gets far enough to care, presses Sign in to keep your progress, and later picks up on a laptop where they left off on the phone.

What not to put in saves#

Saves are written by the player's own browser, so a modified page can put anything in them. They are right for settings, drafts and a solo game's progress. Anything a player must not be able to change themselves, such as scores that count against other players or anything shared between players, belongs in your own server code and database: ask your AI to put it in Functions instead.

Limits to design for, from Limits:

  • Writes: about 60 save writes a minute per player. Save when something changes, not every frame.
  • Size: a save that is too big is refused with save_too_large, and the refusal says the limit in details.limit. Read it from there rather than copying a number into your game.
  • Passwords for email sign-in have 8 or more characters, and repeated failures lead to a lockout.

Settings players expect#

Ask for these at the same time, since app stores and privacy laws expect them:

  • "Add a button to download my data": kumo.account.exportData() returns everything stored about the player as JSON.
  • "Add a delete my account button": kumo.account.delete() removes the player's data. It cannot be undone.

What it costs#

There is no free tier. Saves are part of KUMODeck's usage fee, at cost, taken from your prepaid balance; storage is billed by size. Sign in with X costs nothing per sign-in. Prices: Pricing.

Not on KUMODeck yet? Start here connects your AI, and Hosting & deploy explains the test version and the published version.

Questions and answers#

Do players have to make an account before they play?#

No. Everyone starts as a guest without doing anything, and the same browser comes back to the same guest player on later visits. Signing in is for keeping progress on other devices.

What happens to a guest's progress when they sign in?#

It stays. The sign-in is attached to the same player, so the saves the guest made are still theirs after signing in.

Does my game get the player's email address?#

Not with Sign in with KUMODeck. Your game gets an ID made just for it and a display name, never the email.

Can two devices overwrite each other's save?#

Not silently. Each slot has a version. Ask your AI to write the save so that two devices cannot overwrite each other, and it writes with ifVersion and merges when there is a conflict.

Can a player edit their own save to cheat?#

Yes, a modified page can write anything into the player's own saves. Keep scores that count against other players, and anything shared, in your own server code and database through Functions.

Will the saves from my testing show up in the published game?#

No. Saves are kept per environment, so what you saved on the test version stays out of the published game.

How can players get or delete their data?#

Ask your AI for a download button and a delete button. kumo.account.exportData() returns everything stored about the player as JSON, and kumo.account.delete() removes it, which cannot be undone.