Earlier quoted context omitted.
Edge case but playing devil’s advocate: a user can also uninstall the native app at any time, and might still expect their last change before they closed the app to be reflected in the web version. You can never truly trust anything about a client because by definition you don’t control it
But the os can't uninstall the native app at any time unprompted right
How's Linear so fast? A technical breakdown
81–90 of 250 posts
Re: How's Linear so fast? A technical breakdown
#82Re: How's Linear so fast? A technical breakdown
#83Re: How's Linear so fast? A technical breakdown
#84As for optimistic routes and "fast" - maybe we ought to talk gmail first?
Re: How's Linear so fast? A technical breakdown
#85Last year a guy reverse engineered Linear's sync engine and published it on GitHub with a cool explainer. https://github.com/wzhudev/reverse-linear-sync-engine/blob/m...
Reverse engineering of Linear's sync engine - https://news.ycombinator.com/item?id=44123131 - May 2025 (33 comments)
Re: How's Linear so fast? A technical breakdown
#86Re: How's Linear so fast? A technical breakdown
#87Earlier quoted context omitted.
You can locate an "intermediary backend" on the client, write outstanding mutations into local storage, have a background worker send it to the backend, with necessary retries, etc. At worst, the background worker would put out a message about a failed update which the UI tread would receive and show. But the happy path stays lightning-fast.
Sure but there's a ton of complexity in any kind of local-first syncing solution. Often the solution is CRDTs. My point above is that the simple solution ("traditional CRUD app") is actually viable even when the goal is very low latency.
Re: How's Linear so fast? A technical breakdown
#88Whole blog post is basically: Make a mutation in the clientside, assume it worked, and save in the background.
Works for Linear because the tab stays open, and worse case if tab is closed you can recover later when the tab is opened again and deal with conflict resolution. Won't work if: 1. user clicks a button and closes the tab thinking transaction is done and it's important that transaction is done 2. conflict resolution is difficult or impossible in future client wake up
Re: How's Linear so fast? A technical breakdown
#89> Literally the first lines of code that I wrote was the sync engine, which is very uncommon to what you usually do when you're a startup He chose the path to a better product rather than the path to a quick buck. That is definitely odd for a silicon valley startup
Re: How's Linear so fast? A technical breakdown
#90https://performance.dev/skills
https://performance.dev/how-is-linear-so-fast-a-technical-br...