We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
System Design Masterclass · Web Content Delivery
Free preview: the first 2 parts of this 7-part lesson.
Already bought the course? Sign in to read the whole lesson.
this lesson is part of
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design courseread the rest of this lesson in
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design coursein Web Content Delivery
This lesson is part of the full System Design Masterclass. Unlock it along with 769 other lessons for a one-time payment.
One-time payment by card or PayPal
Get Lifetime AccessOne-time payment: UPI, card or netbanking
Get Lifetime Access18 Foundation lessons are free, no payment needed. Try them now
It is easy and good
“It is really nice and good Please join the course”
The previous lesson covered offline-first, where you write locally and sync later. That pattern works for note-taking apps and mobile field tools. But most web applications do not need it, and the complexity it adds is not free.
Online-first means the server is the source of truth. Every write goes to the server first. The client shows a loading state or an optimistic preview, then confirms when the server responds. If the network is down, the app degrades gracefully: read-only mode, queued retries, or an honest error message.
This is how Gmail, Stripe Dashboard, GitHub, and almost every SaaS product works. The reason is simple: most SaaS users are on stable connections (office wifi, home broadband), and server-authoritative data avoids the entire category of merge conflicts that offline-first must solve. Google Docs took years to build real-time sync. Notion spent two years rewriting their sync engine. If your app does not absolutely require offline writes, online-first saves you from that pain.
The choice comes down to your users' environment. If they are in a subway, a warehouse, or rural Africa with spotty 2G, offline-first is worth the cost. If they are SaaS users on laptops with broadband, online-first is the right default.
A hybrid approach exists too. Figma caches the canvas locally but writes go through their multiplayer server. Slack loads cached messages instantly but fetches fresh data in the background. These are online-first architectures with a local cache layer, not true offline-first.