More Software Engineering Radio episodes

Martin Kleppmann Local-First Software thumbnail

Martin Kleppmann Local-First Software

Published 15 Apr 2026

Duration: 55:14

Local First Software combines local data storage with cloud collaboration to enable offline access, real-time editing, and seamless syncing via AutoMerge and CRDTs, prioritizing user control, privacy, and decentralized workflows with future focus on open standards and AI integration.

Episode Description

Martin Kleppmann, Associate Professor at the University of Cambridge and author of the best-selling O'Reilly book Designing Data-Intensive Application...

Overview

Local First Software is an approach that merges the advantages of traditional local-only data storage with cloud-based collaboration features. This model emphasizes offline functionality, allowing users to edit data without an internet connection while automatically syncing changes when connectivity is restored. Real-time collaboration is enabled through local data storage, ensuring users maintain control over their data, while eliminating network latency for faster performance. The architecture simplifies development by abstracting backend complexity, enabling smaller teams to build end-to-end applications without specialized backend or frontend expertise. Long-term goals focus on open, interoperable standards to reduce vendor lock-in and decouple frontend development from backend dependencies. Key challenges include resolving conflicts during data synchronization using tools like AutoMerge, which employs CRDTs (Conflict-Free Replicated Data Types) to manage concurrent edits, and balancing user control over local data with the convenience of cloud features.

The technology underpinning Local First Software relies on sync engines that manage data replication between local devices and cloud servers or peer-to-peer networks. These engines use JSON-based data models, enabling compatibility with modern frameworks while supporting version control and conflict resolution. Applications like Linnea and tools inspired by Google Docs or WhatsApp demonstrate its practical use, prioritizing instant responsiveness for tasks requiring real-time feedback. However, the model faces limitations in domains requiring strict data consistency, such as financial systems, and challenges in implementing robust local search and backup mechanisms. Additionally, the approach advocates for decentralized access control via systems like Keyhive, using cryptographic keys to secure data without relying on centralized servers. While Local First Software offers benefits like privacy, speed, and data resilience, it also raises concerns about potential risks of cloud dependency, legal/geopolitical issues, and the need for developers to adopt new paradigms in synchronization and conflict management.

Recent Episodes of Software Engineering Radio

29 Oct 2026 Danilo Krummrich on Rust in the Linux Kernel

"Nova GPU driver project integrates Rust into the Linux kernel to replace the aging Novo driver, leveraging Rust's memory safety for better reliability and performance while addressing firmware and architectural challenges through incremental, collaborative updates."

7 Oct 2026 Sahil Walia on Schema Changes and Data Migrations

Recommended: Schema as source of truth

"Schemas define data structure, apply across systems, and require careful evolution to avoid breaking changes, with best practices including additive updates, blue-green deployments, and stable identifiers."

30 Sept 2026 Raju Dandigam on Building Production AI Agents

"Explores production AI agents, their autonomy, safety, and engineering best practices, comparing workflows, tool design, orchestration, and memory systems while addressing challenges like cost, latency, and reliability."

16 Sept 2026 Milan Milanovic on the Laws of Software Engineering

"Explores key software engineering principles (like Conway's Law, Brooks' Law) and their impact on systems, teams, and decision-making, emphasizing context-dependent trade-offs, AI's role, and practical applications like measuring technical debt."

9 Sept 2026 Owen McGirr on Software Accessibility

"Accessibility in software development must be prioritized from the start, integrating inclusive design practices like multiple input methods, proper labeling, and user testing to benefit all users, not just those with disabilities."

More Software Engineering Radio episodes