Cloud Sync

Cloud Sync keeps your patterns and progress in step across devices using a private GitHub Gist that you own. There's no Knit in Time backend and no shared service — your data lives in your Gist, encrypted in transit by HTTPS, and accessed only with a token you control.

Why a Gist?

Knit in Time is local-first: everything works without sync. When you want multiple devices to share state, the simplest backend that's private, free, and not run by us is a private GitHub Gist. You already own the storage, you can revoke access at any time, and you can read your own data outside the app if you ever need to.

Setup

  1. Open Settings and find the Cloud Sync section.
  2. Create a GitHub Personal Access Token with the gist scope and nothing else. Give it a short expiry if you like.
  3. Paste the token into the Personal Access Token field. Knit in Time stores it locally on your device — it never sends it anywhere except to api.github.com.
  4. Tap Sync Now. On first sync, the app creates a new private Gist for you. The Gist ID then appears under the token field.
  5. Optional: turn on Auto-sync on changes so the app pushes automatically whenever you finish a row, edit a pattern, or change a setting.

Adding a second device

On the new device, repeat the steps above and paste the same token. The existing Gist ID will be picked up after a Pull from Remote. To save re-typing, the desktop Settings page shows a QR code (under Sync Details) that a second device can scan to pre-fill the token and Gist ID.

What syncs

The whole knitting state: patterns, sessions, history events, and snapshot. Settings themselves (theme, haptics, auto-sync flag) are intentionally not synced — they stay per-device.

Conflicts

If two devices change state without syncing in between (e.g. you knit on your phone in a subway tunnel while editing a pattern on your laptop), the next sync will detect the divergence. The app pauses and lets you compare both sides before deciding what to keep — nothing is silently overwritten.

Disconnecting

Clear the Personal Access Token field in Settings to unlink the device. The local data stays put. To remove the cloud copy too, delete the Gist on gist.github.com or revoke the Personal Access Token in your GitHub settings.

Privacy posture

Cloud Sync is opt-in. The data path is: your device → api.github.com → your private Gist. Knit in Time itself does not see your patterns; we don't run a sync server. See Privacy for the full picture.