Skip to main content

Command Palette

Search for a command to run...

why notion's "offline mode" is a big deal.

at first glance it looks like a checkbox. but under the hood, it’s a serious distributed systems dance.

Updated
•4 min read

disclaimer: while i am a huge notion fan, i am not an employee (well, for now, anyway 😏), so this is just my best guess at what’s going on under the hood. still, as someone who geeks out over infra, i couldn’t resist talking about why this particular release matters.

first, the old world.

for most of its life, notion was online-first, designed to only really work if you had the internet. every keystroke you made streamed to the backend, which acted as the single source of truth. this means that when you typed a letter, the edit was immediately sent over the network to notion’s servers. the app passed your data along, and the official, “real” version of your notes lived in the cloud.

so basically, if you were offline:

  • your device didn’t have a full copy of your workspace

  • edits couldn’t sync

  • you’d see things like blank pages or “loading” because the app needed to wait for the server to tell it what the document was supposed to look like

now i can only make assumptions, but im sure a few people behind the scenes at notion said something like: “hmm..let’s do something about that.” and the project to make notion work offline was born.

next, the new shift.

to make offline mode a reality, the team probably needed to reconcile a core problem: syncing states.

as we discussed, when you’re online, every notion-motion travels to the backend, updates the database, and syncs back to other clients. offline breaks that assumption. suddenly:

  • your edits need to be stored locally, not just in memory

  • changes need to be merged back into the cloud later

  • conflicts need to be handled gracefully (ex. two people editing the same page in different states)

this isn’t just “cache some data.” it’s a replicated state machine problem— making sure local copies and the source of truth eventually agree, without losing the user’s work. to do that, you’d need to rethink how the editor worked, at a fundamental level.

that’s where crdts come in.

as notion’s ceo ivan zhao explained, the team solved this with one of the largest production crdt systems ever built.

crdts, or conflict-free replicated data types, are special data structures that make collaboration possible even when edits happen out of order.

here’s the trick: no matter what order changes arrive in, crdts guarantee the document will eventually converge to the same result.

🧩 think of it like lego instructions:

  • one person adds a tower on the left

  • another person adds a tower on the right

  • even if they build them in different orders, when the instructions are merged, the final castle still has both towers.

that’s what makes crdts so powerful for text editing. everyone can edit offline, and when they reconnect, all the edits merge without overwriting each other.

notion’s team adopted peritext — a crdt framework from the research lab ink & switch, designed specifically for rich text. and according to notion engineers, this rollout is one of the largest crdt deployments in history.

this is way more than “offline mode.” it’s a deep re-architecture of how the editor works at its core.

the building blocks

to pull this off, the team needed a whole new stack of infra:

  • local storage layer: large workspaces mean storing potentially gigabytes of content on-device. that requires efficient serialization, compression, and eviction policies.

  • sync engine: a system to track deltas (what changed) instead of re-uploading entire pages. this keeps sync fast and bandwidth-light.

  • conflict resolution: merges need to be automatic most of the time — but with a clear ux when human decisions are required. think crdts (conflict-free replicated data types) or operational transforms.

  • consistency guarantees: notion’s promise is collaboration without surprises. that means prioritizing eventual consistency while making it feel real-time.

  • resilience at scale: millions of clients coming online and syncing at once = load spikes. infra has to scale, throttle, and prioritize safely.

why it matters

  • reliability & trust: notion is now “always there,” like virtual pen & paper.

  • accessibility: unlocks usage in low-connectivity regions.

  • infra flex: solving crdts + sync at scale shows notion isn’t just a design tool, it’s a distributed systems company.

  • future-proofing: the same infra powers faster load times, mobile-first workflows, and even edge-aware collaboration down the line.

the bigger picture

offline mode shows notion is willing to do the deep, boring, hard engineering work that nobody sees, but everyone feels. this is what separates a pretty app from a real platform.

common W for notion! ✨