How Nestful syncs without a backend, plus a mindset shift for better work
Explore the offline-first architecture behind Nestful’s sync system, and a reframe that turns productivity into play
Two posts this week - one technical, one personal - but both grounded in the same principle: making things work better with less effort.
The first is a deep dive into how Nestful pulls off offline-first syncing using CRDTs, Yjs, and object storage, without relying on a traditional backend. It’s a practical look at keeping data consistent across devices while staying lightweight and low-maintenance.
The second is a reflection on what happens when productivity stops feeling like a chore. By approaching tasks with curiosity and playfulness instead of pressure, it becomes easier to get into flow and actually enjoy the work.
For anyone building tools or habits that reduce friction and invite momentum, both posts might resonate.
How Nestful uses CRDTs to sync your data with (almost) no backend
Nestful has quite the interesting use case – it is an offline first app, yet it supports cross-device sync. This means it should somehow consolidate data even if it’s the result of multiple different offline sessions coming back online at different times.
Most of you are already aware that the most common way to do this today is Conflict-free Replicated Data Types (CRDTs). As their name suggests, they are replicated data structures that can be combined, with algorithms guaranteeing that the data will eventually converge.
Nestful uses Yjs, a fast JavaScript CRDT. Yjs is truly a magnificent piece of software. Each user has its own Yjs Document where most data is stored. For local persistence that data is synced into IndexedDB, the in-browser database, using y-indexeddb, which is part of Yjs’ provider ecosystem.
How to reframe productivity as play, not work
Last week I turned avoiding my quarterly content calendar into an Olympic sport. The task sat there in my to-do app, glaring at me. Instead of starting, I spent 30 minutes reorganizing my task list. Classic avoidance behavior.
It wasn't until I reframed the problem –"let's experiment with content themes that might resonate" – that I finally dove in. Three hours disappeared in a flash. The difference? I'd accidentally turned work into play.
Why productivity feels like a chore
You know the feeling when you open your task manager and a long list (of things you don’t want to do) stares back at you. Where do I start? What's most important? Why does this feel overwhelming before I even begin?