Failed requests fix themselves
Network hiccups happen. WISEROWS retries failed requests silently in the background with exponential backoff. You keep working — the system catches up.
Exponential backoff
Each retry waits longer than the last — 1s, 2s, 4s, 8s — giving the server time to recover. A small random jitter prevents all clients from retrying at the same instant. Smart, patient, invisible.
- First retry after 1 second — fast recovery for transient issues
- Doubling delay on each attempt: 1s → 2s → 4s → 8s
- Maximum backoff capped at 30 seconds
- Random jitter (0-500ms) prevents thundering herd
- Up to 3 retries for standard ops, 5 for critical writes
- Only transient failures retry — 4xx errors fail immediately
Optimistic updates
Changes apply to the UI the moment you make them — before the server confirms. Drag a kanban card, edit a field, toggle a status — it happens instantly. If the server rejects the change, the UI rolls back smoothly.
- UI updates before server confirmation — zero perceived latency
- Failed mutations roll back gracefully with visual feedback
- Convex handles optimistic state natively via reactive sync
- No loading spinners for inline edits and status changes
- Concurrent edits merge automatically via conflict resolution
- Rollbacks are rare — most operations succeed on first attempt
Offline queue
Lost your connection on a train? Keep working. WISEROWS queues your mutations locally and replays them in order when connectivity returns. Convex's reactive sync protocol handles the rest.
- Mutations queued locally during network outages
- Queue processed in-order on reconnection
- Queries served from local reactive cache
- WebSocket reconnects with exponential backoff
- No "connection lost" banner for brief outages (<5s)
- Missed real-time updates synced immediately on reconnect
Built on Convex's retry semantics
WISEROWS runs on Convex, which provides infrastructure-level retry guarantees. Mutations are atomic and idempotent. Retried operations never duplicate. Consistency is guaranteed.
How it feels
The network is not your problem.
You drag a card, edit a field, save a note. It happens instantly. Behind the scenes, the request might fail and retry twice — but you will never know. The UI stays responsive, your data stays consistent, and the only thing you notice is that everything just works. Even on a train. Even on conference Wi-Fi.
