739: The LoFi Movement: Building Local First Apps
Mar 06, 2024•52 min
Episode description
Join Wes and Scott as they explore LoFi (local first) web development, delving into CRDT, Websockets, IndexedDB, SQLite, and more. Discover when Local-First shines and when it’s better to steer clear in this episode packed with practical insights.
Show Notes 00:00 Welcome to Syntax!
03:18 Brought to you by Sentry.io.
04:08 What is LoFi?
localfirst.dev
05:02 The Seven Ideals for Local-first. 05:29 1: No Spinners.
06:48 2: Your work is not trapped on one device.
07:56 3: The network is optional.
08:50 4: Seamless collaboration with your colleagues.
09:35 Oops, we for got to read 5: The Long Now.
09:37 6: Security and privacy by default.
09:45 7: You retain ultimate ownership and control.
Actual Budget Finance App
Ink & Switch
13:01 Sounds great, let’s go! Not so fast, this stuff is hard.
14:07 The technology involved. 14:30 CRDT (Conflict-free Replicated Data Types).
Wikipedia Definition
James Long dotJS 2019 dotconfrences
17:48 How does it prioritize conflict resolutions?
19:36 Websockets.
20:17 IndexedDB + SQLite.
21:23 Service Workers.
22:16 The software involved. 22:24 Replicache.
24:48 YJS.
25:06 Electric SQL.
25:51 The most basic LoFi application.
31:26 Some bigger concepts.
32:34 Answering some common questions.
35:19 Some real-world examples of LoFi.
Habit Path by Scott Tolinski
37:18 What about Apple PWA nonsense?
38:20 This seems similar to real-time software and multiplayer.
38:47 Sounds like too much work.
Triplit Fullstack Database
Electric SQL
Evolu
40:46 Some useful links. Local-First Web Development
Local-First Lo.fi YouTube
Local-First Ink & Switch
Local-First Reddit
Syntax GitHub Local-First
43:30 Sick Picks + Shameless Plugs.
Sick Picks Wes: Dresscode.dev
Scott: Monarch Money
Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads
Wes: X Instagram Tiktok LinkedIn Threads
Scott:X Instagram Tiktok LinkedIn Threads
Randy: X Instagram YouTube Threads
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast