Saving and loading projects.
localStorage — refresh the page and you keep your work. Signed-in users also get cloud-save. Export as JSON for full portability. Three storage layers
Screenshotify saves your work in three places, all at once when applicable:
- Browser
localStorage— debounced 600 ms after your last edit. Survives page refresh and browser restart. Tied to this browser on this device. - Cloud (Supabase) — if you're signed in, the same auto-save also pushes to a Supabase project keyed to your user-id. Works across devices and browsers.
- JSON export — manual, on-demand. Click "Save" → "Export as JSON" in the header. Download a single
.jsonfile you can commit to a repo, mail, or archive.
How to load a project
On a signed-in browser, the most recent cloud project loads on open. To switch projects: click the project name in the header → "Projects" → pick one. From a JSON file: click the project name → "Load from JSON" → pick the file.
If you're not signed in, only the most recent browser-local project is restored on open. Previous projects in this browser aren't accessible — sign in for project history.
Multiple projects in parallel
Open Screenshotify in multiple browser tabs and each gets its own working state. Auto-save still runs per tab; the last write wins. For real parallel work (e.g., variant A vs variant B side by side for ASO testing), sign in and create two separate cloud projects.
What's actually in the JSON
A Project JSON contains: panel definitions, layer arrays, the global background, language list, active language, project name, autosave setting, export-formats list, plus inline data-URLs for any uploaded screenshots. Average size for a 5-panel carousel with 5 screenshots: 5–15 MB (screenshots dominate). Compresses to ~30% of that with gzip.
Undo and redo
500-step history per session. Cmd/Ctrl+Z to undo, Cmd/Ctrl+Shift+Z to redo. History resets when you load a different project or refresh the page (auto-save preserves the current state but not the history).
Common questions
I refreshed and lost everything.
Browser localStorage can clear if you used private/incognito mode, or if the browser ran out of storage quota (the Safari aggressive 7-day partitioned-storage policy is a common culprit). Sign in for cloud-side recovery, or export JSON regularly during long sessions.
Can I share a project with a collaborator?
Export as JSON, share the file via Drive / Notion / Slack. Drop the JSON into their editor → "Load from JSON". For real-time collaboration we're not built that way yet.
Why is cloud sync optional?
Because signing up is friction. The editor works fully without an account. Cloud sync exists for users who want it; nobody is forced to create one to use the product.