How's Linear so fast? A technical breakdown
5 hours ago
- #web performance
- #client-side architecture
- #optimistic UI
- Linear achieves high performance by using a client-side database (IndexedDB) for instant UI updates, with mutations applied locally and synced asynchronously to the server.
- Optimistic updates eliminate network waiting times, allowing the UI to respond immediately without spinners or loading states.
- Aggressive code splitting, modern bundling (Rolldown/Vite), and preloading techniques reduce initial load times and improve perceived performance.
- A service worker caches assets for offline use and faster subsequent loads, while inlined critical CSS and JavaScript in the HTML enable instant rendering of the app shell.
- Authentication assumes a happy path, rendering the UI based on local data and handling session validation asynchronously in the background.
- The sync engine leverages granular MobX observables for efficient re-renders, ensuring updates affect only changed components rather than entire lists.
- Keyboard shortcuts and a command palette enhance user efficiency, making actions fast and accessible without relying on mouse navigation.
- Animations are optimized by using only composited properties (e.g., transform, opacity) with short durations to maintain responsiveness.