OPTIONAL DEVICE SYNC
Set up private sync
Vorke Mind remains local-first. Sync is off until you create and configure your own Supabase project. Supabase Free currently has quotas and can pause an inactive project. Keep JSON backups; sync is not a backup guarantee.
- Create a Supabase project and keep it on the Free plan. Do not upgrade or enable billing. Check the current quotas and inactive project pause policy.
- In Authentication, create your owner user and disable public signups. Vorke Mind does not provide public account registration.
- Open the SQL Editor and run the contents of
app/supabase-schema.sqlfrom the repository. It enables row-level security and policies tied to the signed-in owner. - Copy your Project URL and anon/public key into
app/sync-config.js. Never use the service-role key in browser code. Do not commit personal credentials. - Deploy the updated app over HTTPS. In Settings, read the consent notice, sign in, and press Sync now on each device.
What sync sends
Book and note details, progress and review history, reader/listening positions, resource links, and preferences. Imported EPUB/PDF/audio files, local attachment IDs, and cover photos stay on the device. Notes are personal text; enable sync only if you want them in your account.
Important limits
Sync is manual. Conflicts use the latest record timestamp; deletions are confirmed on each device before local records and attached files are removed. A browser profile stays linked to one owner. Use separate profiles for different people. Push notifications are not part of this build; in-app review continues to work.