{"podcast":{"title":"devtools.fm: Developer Tools, Open Source, Software Development","slug":"devtools-fm","podcast_index_feed_id":3745116,"rss_url":"https://anchor.fm/s/dd6922b4/podcast/rss","website_url":"https://devtools.fm","image_url":"https://d3t3ozftmdmh3i.cloudfront.net/staging/podcast_uploaded_nologo/37046549/ce6a315e5ecf42d2.jpeg","author":"Andrew Lisowski, Justin Bennett","episode_count":172,"summary":"A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).","last_synced_at":null,"page_url":"https://stenobird.com/podcast/devtools-fm"},"episode":{"title":"Peter van Hardenberg - Ink and Switch, Automerge","slug":"peter-van-hardenberg-ink-and-switch-automerge","published_at":"2026-01-12T08:03:21+00:00","page_url":"https://stenobird.com/podcast/devtools-fm/peter-van-hardenberg-ink-and-switch-automerge","show_page_url":"https://stenobird.com/podcast/devtools-fm","url":"https://podcasters.spotify.com/pod/show/devtoolsfm/episodes/Peter-van-Hardenberg---Ink-and-Switch--Automerge-e3dh43a","audio_url":"https://anchor.fm/s/dd6922b4/podcast/play/113856042/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2026-0-12%2F415938501-44100-2-186bb89219f8.m4a","summary":"Explore the shift from cloud-centric computing to local-first software, where data ownership and offline capability are fundamental. Peter van Hardenberg explains how CRDTs and engines like Automerge enable seamless, real-time collaboration without sacrificing user control.","meta_description":"Learn how local-first software and CRDTs like Automerge are redefining data ownership, real-time collaboration, and the future of decentralized computing.","key_points":["Main idea: Local-first software prioritizes data ownership and availability, ensuring users can work even when disconnected from the cloud","Technical insight: CRDTs (Conflict-Free Replicated Data Types) allow for seamless merging of concurrent edits without central authority","Failure mode: Using CRDTs for systems requiring strict scarcity, such as banking or limited-seat ticketing, is a poor architectural fit","Practical takeaway: Columnar encoding can significantly optimize the performance of sync engines by reducing the metadata overhead of every keystroke","Vision: The future of computing should move power back to individuals, enabling a culture of software craft and interoperability"],"chapters":[{"start_ms":60000,"title":"The Journey to Research","summary":"Peter discusses his diverse background in software engineering, from physics engines to his time at Heroku."},{"start_ms":745000,"title":"Defining Local-First Software","summary":"An exploration of the core principles behind the local-first movement and the vision of the Ink and Switch lab."},{"start_ms":1205000,"title":"The Mechanics of CRDTs","summary":"A deep dive into Conflict-Free Replicated Data Types and how they handle distributed state synchronization."},{"start_ms":1650000,"title":"Optimizing Sync Performance","summary":"How Automerge moved from naive JSON encoding to columnar storage to handle high-frequency updates efficiently."},{"start_ms":2115000,"title":"Decentralized Data Access","summary":"Discussing the design of systems that allow for encrypted, distributed data sharing and history traversal."},{"start_ms":2790000,"title":"The Future of Software Craft","summary":"A vision for a computing ecosystem where software is customizable, interoperable, and owned by the user."}],"topics":["Local-first software","CRDTs","Automerge","Distributed systems","Data ownership","Ink and Switch","Software architecture","Decentralized computing"],"duration_seconds":3032,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/devtools-fm/episodes/peter-van-hardenberg-ink-and-switch-automerge/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/devtools-fm/peter-van-hardenberg-ink-and-switch-automerge.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}