
CRDTs and Local-First Architecture: How smallstack Handles Offline Conflict Resolution
CRDTs and Local-First Architecture: How smallstack Handles Offline Conflict Resolution Most web apps treat the network as a prerequisite. No connection? You get a spinner, an error banner, or worse — silent data loss. At smallstack, we made a different choice from the start: local-first . This post breaks down what that means technically, how we use CRDTs and SignalDB to handle conflict resolution, and why this architecture matters for building serious business software. The Problem with "Offline Mode" "Offline mode" is a spectrum. At the bad end: you cache the last-loaded page and show a banner saying "you're offline, changes won't be saved." At the slightly better end: you queue writes locally and flush them when connectivity returns — but without any conflict handling, so the last writer wins (silently destroying the other's work). Neither is good enough for field teams who genuinely work disconnected for hours at a time. Local-first inverts the model: The local device is the primar
Continue reading on Dev.to
Opens in a new tab



