<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Design Deep Dives on Atharva Pandey</title><link>https://atharva.page/series/system-design-deep-dives/</link><description>Recent content in System Design Deep Dives on Atharva Pandey</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright ©</copyright><lastBuildDate>Thu, 14 Nov 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://atharva.page/series/system-design-deep-dives/index.xml" rel="self" type="application/rss+xml"/><item><title>Lesson 5: Design Twitter/X — Tweet fanout, timeline ranking, trending topics at 500M users</title><link>https://atharva.page/post/fundamentals/sd-deep-twitter/</link><pubDate>Thu, 14 Nov 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/sd-deep-twitter/</guid><description>&lt;p&gt;Twitter is the classic system design problem for good reason. It looks like a glorified blog until you start pulling on the threads: how does a tweet from a user with 100 million followers appear in every follower&amp;rsquo;s timeline within seconds? How do you rank timelines without reading millions of tweets per request? How do you identify trending topics across 500 million users in near real-time? Each of these is a genuinely hard problem, and they interact in non-obvious ways.&lt;/p&gt;</description></item><item><title>Lesson 4: Design WhatsApp — End-to-end encryption, message delivery guarantees, presence</title><link>https://atharva.page/post/fundamentals/sd-deep-whatsapp/</link><pubDate>Sat, 14 Sep 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/sd-deep-whatsapp/</guid><description>&lt;p&gt;WhatsApp is deceptively simple from a user perspective: you send a message, it arrives. But building a messaging system that handles 100 billion messages per day with end-to-end encryption, reliable delivery semantics, and real-time presence for 2 billion users is a genuinely hard engineering problem. I find this problem particularly instructive because it forces you to confront three things simultaneously: cryptographic key management, message delivery guarantees, and the cost of maintaining online/offline state at massive scale.&lt;/p&gt;</description></item><item><title>Lesson 3: Design Google Docs — Real-time collaboration, OT vs CRDT, conflict resolution</title><link>https://atharva.page/post/fundamentals/sd-deep-google-docs/</link><pubDate>Mon, 15 Jul 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/sd-deep-google-docs/</guid><description>&lt;p&gt;Google Docs is the problem I recommend to every engineer who thinks they understand distributed systems. The surface looks trivial: multiple users editing a document simultaneously. The depth is staggering. When two users type at the same position in a document at the same millisecond, what does each user see? How do you converge on a consistent state without a central lock? How do you preserve the intention behind each edit, not just the characters?&lt;/p&gt;</description></item><item><title>Lesson 2: Design Uber — Real-time matching, geospatial indexing, surge pricing</title><link>https://atharva.page/post/fundamentals/sd-deep-uber/</link><pubDate>Sat, 25 May 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/sd-deep-uber/</guid><description>&lt;p&gt;Uber is one of the most instructive system design problems because it forces you to think about real-time data pipelines, spatial indexing, and latency-sensitive matching algorithms all at once. I spent a significant amount of time studying this problem specifically because the geospatial angle is something most candidates gloss over. They say &amp;ldquo;use a database with location queries&amp;rdquo; and move on. But at Uber&amp;rsquo;s scale — 5 million trips per day, hundreds of thousands of concurrent drivers and riders — the geospatial indexing strategy is the entire problem.&lt;/p&gt;</description></item><item><title>Lesson 1: Design YouTube — Video upload, transcoding, streaming at scale</title><link>https://atharva.page/post/fundamentals/sd-deep-youtube/</link><pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/sd-deep-youtube/</guid><description>&lt;p&gt;YouTube serves over 500 hours of video uploaded every minute and delivers billions of views per day. When I first studied this problem seriously, I made the mistake of treating it as a simple &amp;ldquo;upload file, store it, serve it&amp;rdquo; exercise. It isn&amp;rsquo;t. The interesting engineering is in what happens between the moment a creator hits upload and the moment a viewer&amp;rsquo;s video starts playing seamlessly on a 3G connection in rural India. That gap is where the system design lives.&lt;/p&gt;</description></item></channel></rss>