Building an offline-first mobile app - best practices for syncing data when connectivity drops?

I’m working on a mobile app that needs to function reliably even when users lose internet connectivity mid-session (specifically for a fintech/banking use case, but the problem is pretty universal). The app needs to queue actions locally when offline and sync them automatically once the connection returns, without creating data conflicts.

I’m curious how others here have approached this:

  • What’s your go-to strategy for local queueing (IndexedDB, SQLite, AsyncStorage, etc.)?
  • How do you handle conflict resolution when multiple offline actions need to sync in the right order?
  • Any libraries/frameworks you’d recommend for this specifically on React Native or Flutter?

Would love to hear from anyone who’s solved similar offline-sync challenges, especially in apps where data accuracy really matters (like financial or transactional apps).