Tautik Agrahari

Blog

29 posts on system design, distributed systems and things I find beautiful.

geohash vs quadtree vs r-tree - three ways to find what's near you 14 MAY 2026 · 13 MIN computer use agent story 12 MAY 2026 · 19 MIN noVNC and websockify 11 MAY 2026 · 5 MIN how dropbox handles uploads, downloads and sync 07 MAY 2026 · 11 MIN id generators - from `Date.now()` to snowflake 03 MAY 2026 · 18 MIN designing instagram's hashtag page 20 APR 2026 · 15 MIN designing the unread message count 20 APR 2026 · 8 MIN bit.ly system design — building a url shortener 05 APR 2026 · 16 MIN remote locks and distributed locks 11 FEB 2026 · 13 MIN Message queue 03 JAN 2026 · 14 MIN scaling reads 05 DEC 2025 · 20 MIN why databases use b+ trees to hold data 01 OCT 2025 · 9 MIN kv store on relational db: a storage-compute separation story 23 SEPT 2025 · 11 MIN Caching : Thundering Herd and Request Hedging 07 SEPT 2025 · 6 MIN How DNS Really works and How it scales infinitely 07 SEPT 2025 · 9 MIN Understanding Proxies: Forward vs Reverse 07 SEPT 2025 · 9 MIN 13 Root Name Servers - The Foundation of the Internet 07 SEPT 2025 · 5 MIN Soft Delete: Why We Never Really Delete 07 SEPT 2025 · 5 MIN The Framework of Opposites: A System Designer's Secret Weapon 07 SEPT 2025 · 5 MIN What Happens When You Hit a URL in Your Browser 07 SEPT 2025 · 7 MIN load balancer 27 JUL 2025 · 14 MIN Delegation | Task Offloading 15 JUL 2025 · 9 MIN Kafka Essentials 15 JUL 2025 · 5 MIN Database Locking 27 JUN 2025 · 16 MIN Communication - Polling, Websockets & SSE 25 JUN 2025 · 14 MIN Scaling | DB Proxy Pattern 23 JUN 2025 · 18 MIN Designing a Practical Rate Limiter 01 MAY 2025 · 10 MIN Bloom Filters: Space-Efficient Probabilistic Data Structures 07 APR 2025 · 10 MIN Client-Server Architecture and Network Protocols 05 APR 2025 · 7 MIN