Skip to main content

Offline sync

Status: 🔨 To build (SDK-ready)

Scope

The architecture is offline-first: Drift (local SQLite) is the primary store; all reads and writes hit Drift first. Supabase is an opt-in background sync layer. SP3 partly built: today's chores can be loaded and acted on offline. On reconnect, pending local writes are synced. Conflict resolution strategy is still open.

Open questions

  • What is the conflict resolution strategy when offline edits conflict with server changes (last-write-wins vs merge)?
  • How are approval flows handled offline — optimistic approval, or queued pending sync?
  • What is the sync boundary — household-level full sync, or per-member incremental?
  • How is the sync state surfaced to the user (offline banner, sync indicator)?