Series · 10 parts
Offline-First KMP
When your mobile app must work without internet as a standard, not an edge case, the sync layer is just the first decision. What comes after — preserving user intent offline, trusting a "success" your server never actually confirmed, resolving conflicts as a human decision — is where offline-first actually gets hard. Field notes from a production KMP winery app.

- 1Choosing an offline-first sync layer for KMP

- 2Two writes for every tap

- 3Minting IDs Before the Server

- 4The Write You Never Clean Up

- 5HTTP 200 Is Not Success

- 6Your Schema Is Not Your Payload

- 7You Cannot Fix a Generated File

- 8Every Synced Row Needs an ID

- 9Your Sync Stack Fits in Three Containers

- 10HTTP 500 Is Not a Retry







