Local-first, the slow way
I rebuilt my reading list as a local-first app over a few rainy evenings. Here's what surprised me — and what didn't.
I have a reading list. Of course I do. Everyone with an internet connection and a vague intention to be a better person has a reading list. Mine has lived in seven different apps over the last decade, and last month I rebuilt it from scratch as a local-first project.
The premise of local-first is simple: my data lives on my devices, syncs when there's a network, and never depends on a server I don't control. The implementation is less simple. The libraries are good now — better than they have been — but the decisions are still mine.
Three things surprised me. First, conflict resolution is mostly boring; the dramatic three-way merge cases I worried about almost never happen for a single-user app. Second, offline is a feature you feel. Third, owning the data changes the way you treat it.
I'll write up the architecture in a follow-up post.
Written by Avery Quinn. If you enjoyed this, you can subscribe for new posts.