tool

egwalker

created 2026-05-25 crdt · text-editing · algorithm · sequence-crdt

egwalker

A modern text-only sequence crdt|CRDT algorithm by Joseph Gentle (josephg), notable for being used in Figma’s 2025 text-editing feature. Constructs a CRDT structure temporarily to resolve concurrent text conflicts, then discards it — a pragmatic middle ground between full CRDT runtimes and central-server arbitration.

What’s interesting about it

  • Transient CRDT — Figma’s server stays the central authority for the canvas; egwalker only spins up when there’s an actual text conflict to merge, then throws the structure away. You get correct merging without paying the long-term cost of carrying CRDT metadata for every document.
  • Performance — designed to be faster than traditional sequence CRDTs (RGA, YATA) for the specific case of merging two divergent edit streams.
  • Text-only — narrower scope than yjs or automerge, which is the source of its simplicity.

Where it shows up

  • Figma text editing (2025) — Figma’s canvas is not a true CRDT system (server-mediated, crdt|last-writer-wins register semantics for properties). But for text editing inside design files, they introduced egwalker as a transient conflict-resolution layer in 2025.

When to think about it

If you’re building a CRDT-influenced architecture (server as authority, but with concurrent text fields that need correct merging), egwalker is the pattern Figma blessed: don’t carry CRDT state everywhere — instantiate it just-in-time at the conflict boundary.

For full CRDT collab editors, yjs is still the default.

See also

  • crdt — the broader theory
  • yjs — full-CRDT alternative for collab editors
  • automerge — full-CRDT alternative for documents
  • josephg/egwalker on GitHub for the algorithm and benchmarks