Most apps are built as if the network is always there. It is not. Users open apps in elevators, on planes, in car parks and on trains between stations.

Offline-first is a design decision, not a feature you bolt on later. It means the app reads from a local store first and treats the network as a sync layer, so the screen fills instantly whether or not there is signal.

The hard part is not reading offline, it is writing. An action taken with no connection has to queue, survive a restart, and reconcile cleanly when the network returns, without losing data or creating duplicates.

Decide this at the start and it costs little. Retrofit it after launch and it touches every screen you already shipped.