How offline-first works
KnotDo stores all your data locally in your browser's IndexedDB database via Dexie.js. When you open KnotDo, the app loads directly from local storage — no network call required.
Every action (create, edit, complete, delete) happens immediately against the local database. When your device has a connection, changes sync to the server in the background. When you're offline, changes queue up and sync automatically when you reconnect.
Nothing is read-only offline. You have full access to all your data at all times.
Installing KnotDo as a PWA
For the best offline experience, install KnotDo as a Progressive Web App (PWA). This makes it behave like a native app — full-screen, instant launch, offline-capable.
Desktop (Chrome or Edge):
Look for the ⊕ install icon in the address bar → click it → Install.
iOS (Safari):
Tap the Share icon (square with arrow) → Add to Home Screen → tap Add.
Android (Chrome):
Tap the three-dot menu → Add to Home Screen → confirm.
Once installed, KnotDo appears in your app launcher or home screen. It launches into its own window without browser chrome, and data persists indefinitely as long as the app is installed.
Making changes offline
When you're offline, KnotDo shows a small offline indicator in the top bar. Everything still works normally — the indicator just means changes are queued, not yet synced.
You can:
- Create new tasks and lists
- Edit task titles, notes, due dates, priorities
- Complete tasks
- Reorder and move tasks between lists
- Add subtasks and comments
Syncing when you reconnect
When your device reconnects, the sync engine runs automatically — you don't need to do anything. Changes you made offline are pushed to the server, and any changes made on other devices are pulled down.
If you have the PWA installed, background sync runs even when the app isn't open. Changes made on your phone while offline will appear on your laptop the next time you open it, without any manual action.
Conflict resolution
In the rare case where the same task field was changed on two devices while both were offline, KnotDo uses last-write-wins resolution with per-field timestamps. This means:
- If you changed the title on Device A and the due date on Device B — both changes survive
- If you changed the same field on both devices — the most recent change wins