Offline-first sync
TapTidy works without an internet connection. Tasks are written to your device first, then synced to the cloud when you reconnect — not the other way around.
Works on planes, subways, dead zones
Full task capture, editing, and completion — no spinner, no error message, no waiting for a connection.
Automatic sync on reconnect
When you come back online, TapTidy reconciles your offline changes with any changes made on other devices — automatically, in the background.
Same behavior on web and Android
The web PWA uses a service worker + local IndexedDB. The Android app uses Room database with the same outbox queue pattern.
Offline-first vs sync-first
Most task apps are sync-first: they write to the cloud first and fall back to a cached copy if the request fails. TapTidy is offline-first: writes go to local storage first, and sync is a background process that catches up when it can.
TapTidy (offline-first)
Write to device → queue for sync → sync runs in background. Zero latency for all local operations. No UI blocking on network issues.
Typical sync-first app
Write to cloud → cache locally on success. If the request fails, you get a "saved locally" state that may or may not reconcile correctly.
How conflicts are resolved
If you edit the same task on two devices while one is offline, TapTidy uses a last-write-wins strategy with field-level granularity — not whole-task replacement. So if you changed the title on device A and the due date on device B while offline, both changes are preserved when they sync.
- Field-level conflict resolution — not blunt whole-record replacement
- Outbox queue ensures no operation is lost, even across restarts
- Sync status is visible per-task (synced, pending, conflict)
Web PWA offline support
The TapTidy web app is a Progressive Web App with a service worker that caches the app shell and task data for offline use. You can install it to your home screen or taskbar for an app-like experience with full offline access.
Offline writes are queued in IndexedDB and flushed when the sync engine detects network availability. The service worker intercepts API calls and serves cached responses while offline.
Android offline support
The TapTidy Android app uses Room (SQLite) as the primary data store. All reads and writes hit the local database — network sync is handled by a background worker that runs independently of the UI.
On the Privacy APK (no Google build), background sync uses Socket.IO with a persistent WebSocket connection instead of Firebase Cloud Messaging — maintaining real-time updates without any Google dependencies.