Sync

Keep the same progress on every device: grades and schedule, read pages, checklists, mock runs, stories and notes.

This device
Not connected on this device

Enter the sync passphrase to connect. Your existing progress here is merged with what the server already has, and from then on every change is uploaded within a couple of seconds.

On your phone
  1. Open localhost in the phone's browser.
  2. Open the menu, go to Sync and enter the passphrase. The session lasts a year on that device.
  3. Add the site to your home screen (Share → Add to Home Screen on iOS, ⋮ → Add to Home screen on Android) so it opens like an app.

Training, flashcards, mock interviews and notes all work on a phone; grades made there show up here on the next sync, which happens automatically when a tab comes back into view.

How it works

Progress and notes still live in this browser's localStorage, so everything works offline. When connected, each changed store is uploaded to the server (Cloudflare D1) with the version this device last saw; if another device changed the same store in the meantime, the two versions are merged (union of cards, runs and notes, newer record wins) rather than one overwriting the other. The active training session is not synced: it belongs to the device you are on.

The passphrase is a server secret (NUXT_SYNC_PASSPHRASE); wrong attempts are rate-limited. The session is a sealed, HttpOnly cookie. Settings → Reset also clears the server copy on the next upload, so use Export first if unsure.