Offline-first means the app works from local cache first and syncs when internet is available. SQLite (and its React Native counterpart WatermelonDB) serves as the local store. Redux Persist or Zustand persist saves state across sessions.
Sync strategy matters: conflict resolution (what happens when the same data is changed in two places?), optimistic UI (update the interface without waiting for a server response), and delta sync (only download what changed). Firebase Firestore and Realm support these patterns natively.
Our courses on this topic