#localfirst

4 bookmarks tagged with #localfirst · RSS Feed · ← All Tags

Submitted for Your Approval

https://intertwingly.net/blog/2026/01/28/Twilight-Zone.html
The blog demo was a real Rails application running full stack in your browser. Action Cable over BroadcastChannel. Active Record over IndexedDB. The editor runs on WebContainers — Node.js and npm, entirely in browser memory. The same patterns, the same code structure, no server. What originally motivated this is now child's play to build. I want judges to be able to record scores during an event despite unreliable Wi-Fi. Downloading the agenda and that judge's scores entered to date and then running the existing ERB views over IndexedDB just works. Posting updates in real time when possible and batch when connectivity resumes is straightforward. Since each judge records their own scores, there are no merge conflicts. Mount the resulting offline SPA via Rack middleware, and everything works transparently.

LLM APIs are a Synchronization Problem | Armin Ronacher's Thoughts and Writings

https://lucumr.pocoo.org/2025/11/22/llm-apis/
There’s a whole ecosystem that has dealt with this kind of mess before: the local-first movement. Those folks spent a decade figuring out how to synchronize distributed state across clients and servers that don’t trust each other, drop offline, fork, merge, and heal. Peer-to-peer sync, and conflict-free replicated storage engines all exist because “shared state but with gaps and divergence” is a hard problem that nobody could solve with naive message passing. Their architectures explicitly separate canonical state, derived state, and transport mechanics — exactly the kind of separation missing from most LLM APIs today.

File over app — Steph Ango

https://stephango.com/file-over-app
File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you this freedom. File over app is an appeal to tool makers: accept that all software is ephemeral, and give people ownership over their data.

Learn Yjs by Jamsocket

https://learn.yjs.dev/
Learn Yjs starts with the basics of Yjs, then covers techniques for handling state in distributed applications. We’ll talk about what a CRDT is, and why you’d want to use one. We’ll get into some of the pitfalls that make collaborative applications difficult and show how you can avoid them. There will be explorable demos and code exercises so you can get a feel for how Yjs really works.