← Lessons

quiz vs the machine

Gold1460

System Design

Offline Editing Sync

Editing while disconnected and reconciling cleanly on reconnect.

5 min read · core · beat Gold to climb

The offline goal

Users expect to keep typing on a plane or in a tunnel and have their work merge back seamlessly. Offline editing means the client applies edits to a local replica with no server round trip and queues them for later.

What the client stores

  • A local copy of the document so reads and writes work instantly.
  • A pending queue of operations not yet acknowledged by the server.
  • Enough causal metadata to merge correctly after a long gap.

Reconnect flow

On reconnect the client runs the sync protocol, exchanging state vectors, then merges the server's missed updates with its own queued ones. Because the underlying model is a CRDT or transform aware, the merge is automatic even after hours offline.

The key constraint is that offline edits must never need a live decision from the server, or the user would be blocked while away.

Key idea

Offline editing applies edits locally and queues them, then merges automatically on reconnect without needing a live server decision.

Check yourself

Answer to earn rating on the learn ladder.

1. What must the client keep while offline?

2. Why must offline edits avoid needing a live server decision?