# Offline First Data Sync

To sync data between 2 or more devices, we need 3 things:

1. [Offline Data](https://notes.tejpratapsingh.com/_/offline-first-data-sync/offline-first-data-sync/offline-data) collection: It could be SQLite, Realm or something else
2. [Online Data](https://notes.tejpratapsingh.com/_/offline-first-data-sync/offline-first-data-sync/online-data) Store: A server or cloud data provider such as FIrebase, Supabase, Parse etc
3. A [Blob Storage](https://notes.tejpratapsingh.com/_/offline-first-data-sync/offline-first-data-sync/file-store-s3) such as AWS S3 or Firebase Storage.
4. And last but not the least, some [~~logic~~ magic](https://notes.tejpratapsingh.com/_/offline-first-data-sync/offline-first-data-sync/sync-logic).
