Building Offline-Tolerant React Forms for the Floor
Published 2026-01-30 by Faraz Rahimi
A form that dumps data when the aisle eats Wi-Fi will be abandoned. Queue the submit. Show that it is queued. Sync later.

Tags: React, Offline, Warehouse, UX, unlisted
I persist in-progress counts to the phone. If the tab dies, the numbers are still there. Submits go to an IndexedDB queue with an operation id.
The UI says queued, not saved, until the server acks. That honesty keeps people from counting twice "just in case," which is its own data bug.
Design the resume
When they come back online, show what will flush. A silent flush that fails later is how you get missing counts and no villain.
Do not cache master data forever
SKU names change. I expire the catalog cache and make a stale banner, not a forever local universe.
Original post: https://farazrahimi.com/posts/building-offline-tolerant-react-forms-for-the-floor