Why offline-first is the whole design, not a feature
Retail software fails in stockrooms. Not dramatically — it just hangs on a write, the associate taps again, and now the count is wrong. Every subsequent decision inherits that error.
Enovve inverts the order of operations. A scan is written to a durable on-device queue and acknowledged to the user in the same frame. The network is never in the critical path of the interaction.
Each queued event carries an idempotency key, so when the queue drains — after a reconnect, a retry or a crash — the ledger applies it exactly once. That single property is what allows the app to promise both 'never blocks' and 'never double-counts', which are usually in tension.