When clients ask for “just make it work offline,” it sounds simple. Flip a switch, cache some pages, sync later, done. Right?
Not quite.
Behind the scenes, what looks like an obvious feature often turns out to be one of the hardest engineering challenges you can take on. Notion’s offline mode is a perfect example of why easy requests are rarely easy fixes and what enterprise teams can learn when delivering for clients.

The Client Expectation
From the outside, it feels obvious:
- “I should be able to access my docs on a plane.”
- “Why can’t I just edit something offline and see it sync later?”
- “Every other app I use works offline.”
For clients, these are valid asks. Offline is about trust. The system is there when you need it most. But under the hood, offline mode means solving for synchronization, conflict resolution, security, and scale all at once.
The Reality
Here is why offline is not a simple switch:
- Data Synchronization Is Complex
- Edits made offline must merge cleanly with edits made online by others.
- This requires conflict resolution engines powered by CRDTs like Ink & Switch’s Peritext.
- Partial vs. Full Sync
- Do you download everything, or only what the user selects?
- Too much wastes bandwidth and storage. Too little makes the app useless in practice.
- Permissions and Security
- Offline means local storage. Local storage means risk.
- Every offline feature has to respect access rights, encryption, and enterprise security.
- User Experience
- A greyed out page or “not available offline” error breaks trust.
- Offline has to feel natural and predictable, not frustrating.

What It Took
Notion’s engineering team had to rethink core architecture to get this shipped.
- Selective Downloads: Users can mark pages for offline use. Recents and Favorites auto-download for paid plans.
- Database Support: Only the top rows download automatically. Deeper queries need manual fetch.
- Conflict Handling: Offline edits are auto-merged with online changes using CRDT logic that preserves intent.
- Infrastructure Scale: Caches and sync pipelines keep experiences consistent across devices.
It is not perfect or seamless today. But it is shipped, in the hands of users, and will continue to be improved. That is the point.
Lessons for Clients
So what can enterprise teams learn when delivering to clients?
- The Simplest Requests Hide the Hardest Work
- What sounds like a small sprint often masks an architectural overhaul.
- Communicate Complexity Without Excuses
- Clients do not need a CRDT lecture. But they do need to know why quality takes time.
- Design for Trust, Not Just Functionality
- Offline is not about features. It is about reliability. Delivering trust is always harder than shipping code.
- Recognize the Trend
- Modern software is shipped early, tested in production, and improved continuously. Perfection at launch is a myth.
The Takeaway
Notion’s offline mode is not perfect. But it is here, it works, and it is getting better.
The lesson is clear: clients often think a fix is easy. The truth is that easy is an illusion. The hardest work is invisible, and that is exactly why it matters.