Four related web app problems: 1
Four related web app problems:
1. If I’m temporarily offline, I still want the app to be fast and reliable.
2. If my work conflicts with someone else’s work, I want the conflict to be automatically resolved intelligently.
3. I want every UI interaction to be instantaneous, even if it’s actually a slow call behind the scenes.
4. As a dev, I don’t want to wire up a bunch of spinners, skeleton screens, and complex optimistic UI logic to make the app feel fast.
Solution: Local first. Here’s the idea in a nutshell.
1. Fetch all the data a given user likely needs on initial load (or as much as is practical).
2. Write to a local DB instead of making a traditional REST/GraphQL call and waiting for a response.
3. Push changes from the local DB to the server ASAP.
4. Use CRDTs (Conflict-free Replicated Data Type) to automatically merge concurrent changes on different devices.
2025 may be the year local first apps finally take off. All the pieces are here.