📣Using IndexedDB with Triplit just got 10x faster. Read the blog post.

    A more practical definition of Local First

    There's a fair amount of confusion around what exactly "Local First" means, and understandably so. The term itself was coined by Ink & Switch, who advocate for a strict definition centered on data sovereignty and complete client autonomy. In their framework, Local First means fully peer-to-peer systems, often leveraging CRDT algorithms, where servers are essentially reduced to dumb relays for encrypted packets. This definition naturally appeals to privacy advocates, security-focused users, and researchers deeply invested in theoretical computer science. In fact, this is the version that we were initially attracted to even before Ink & Switch put a label on this particular flavor of computing.

    However, while Ink & Switch introduced the term, a broader and arguably more practical interpretation has emerged. The folks at Linear, who don't follow Ink & Switch's exact guidelines, have nonetheless contributed significantly to evangelizing the practical benefits of the Local First paradigm. And it's precisely this more pragmatic and informal approach that interests us at Triplit.

    We see Local First as a development paradigm that drastically enhances both user and developer experiences. Imagine developing your application as if your database was always 0ms away—that's a game changer. This approach simplifies development dramatically. You can reduce or entirely eliminate loading spinners, laggy interactions, and hiccups typical of apps constantly negotiating with distant servers. Better yet, you get offline capabilities and real-time synchronization between multiple users or devices essentially "for free."

    In practical terms, adopting Local First means replicating data fully or partially to the client and allowing the client to work directly with that local copy of data. The client then has the freedom to query, mutate, and manage data locally, independent of immediate server availability. When multiple users concurrently modify data, the system automatically merges these changes without intervention, though the server can still be the final arbiter when needed for conflict resolution or authorization.

    It's important to recognize that Local First isn't niche or academic; it's already mainstream, even if not everyone has labeled it explicitly as such. Products millions rely on daily—Figma, Google Docs, Linear, Messenger, WhatsApp, iMessage, Notion (soon)—have embraced the core of what we mean by Local First. We see this growing list of at-scale examples as evidence that Local First is the natural end-state for high-quality, responsive, collaborative software. It's the setup that many of the best engineering teams have adopted to deliver the quality experiences users increasingly increasingly expect. The main hitch is that creating these experiences is incredibly hard and often have teams of high paid engineers building them bespoke at each company. At Triplit, we're convinced it's a lasting paradigm shift, poised to become the new default in software development—it just needs to be more accessible.