Offline-first: the real cost, one year in

The spec-sheet mirage
When I started Ficelle, “offline-first” ticked every box of the seductive project…
What actually costs
- Conflict resolution: 80% of cases are trivial; the remaining 20% are your new job.
- Local schema migrations: every release must migrate IndexedDB on the client.
- Debugging: reproducing a divergent sync state is a dark art.
If your app can show a spinner, show a spinner.
The rest goes through each point with code samples…