Ajit Singh
  • About Me
  • Videos
  • Explainers
  • System Design
  • Tag Cloud
  • Dev Weekly
Navbar avatar

System Design


Learn how tech giants scale to millions of users
Server-Sent Events: One-Way Real-Time Streaming Over HTTP architecture breakdown
Dec 2025

Server-Sent Events: One-Way Real-Time Streaming Over HTTP

Learn how Server-Sent Events (SSE) enable real-time server push over HTTP. Understand implementation, auto-reconnection, and when to choose SSE over WebSockets or Long Polling.

Long Polling Explained: Build Real-Time Apps Without WebSockets architecture breakdown
Dec 2025

Long Polling Explained: Build Real-Time Apps Without WebSockets

Learn how Long Polling enables real-time communication using plain HTTP. Understand the implementation, trade-offs, and when to choose Long Polling over WebSockets or Server-Sent Events.

How Stock Brokers Push 1 Million Price Updates Per Second to Your Screen architecture breakdown
Dec 2025

How Stock Brokers Push 1 Million Price Updates Per Second to Your Screen

How stock brokers deliver millions of real-time price updates using WebSockets, Kafka, and ticker plants. System design guide for developers.

Stop Blocking Your Paying Customers: Build a Smart Rate Limiter architecture breakdown
Nov 2025

Stop Blocking Your Paying Customers: Build a Smart Rate Limiter

Learn how to design and implement a dynamic rate limiter that adapts to system load, user behavior, and traffic patterns. Real-world strategies from Stripe, Twitter, and Netflix.

How Shopify Powers 5 Million Stores Without Breaking a Sweat architecture breakdown
Oct 2025

How Shopify Powers 5 Million Stores Without Breaking a Sweat

Deep dive into Shopify's system design and architecture. How they handle millions of merchants, billions in sales, and massive traffic spikes. Learn from their modular monolith, pod architecture, and scaling strategies.

What Actually Happens When You Type a URL architecture breakdown
Oct 2025

What Actually Happens When You Type a URL

Complete guide to DNS for developers. Learn how DNS resolution works, caching layers, record types, and performance optimization. Includes real-world examples, diagrams, and practical tips.

How Ticket Booking Systems Handle 50,000 People Fighting for One Seat architecture breakdown
Oct 2025

How Ticket Booking Systems Handle 50,000 People Fighting for One Seat

How ticket booking systems prevent double bookings, handle 50K concurrent users, and process payments. Inside BookMyShow and Ticketmaster architecture.

Kubernetes Architecture: The Operating System for the Cloud architecture breakdown
Sep 2025

Kubernetes Architecture: The Operating System for the Cloud

Deep dive into Kubernetes architecture - understand how the control plane, worker nodes, and core components work together to orchestrate containers at scale. Learn from real-world examples and practical insights.

How Meta Achieves 99.99999999% Cache Consistency architecture breakdown
Sep 2025

How Meta Achieves 99.99999999% Cache Consistency

Deep dive into Meta's cache consistency architecture - how they handle billions of users with near-perfect cache consistency using TAO, memcache, and distributed invalidation strategies. Learn from their scaling challenges and architectural decisions.

How Slack Built a System That Handles 10+ Billion Messages architecture breakdown
Sep 2025

How Slack Built a System That Handles 10+ Billion Messages

Deep dive into Slack's system design and architecture - how they handle millions of users, billions of messages, and maintain real-time communication at scale. Learn from their scaling challenges, database design, and microservices architecture.

Building Distributed Counters for High-Traffic Systems architecture breakdown
Sep 2025

Building Distributed Counters for High-Traffic Systems

Learn how to build scalable distributed counters for high-traffic systems. Complete guide covering sharded counters, local aggregation, CRDTs, and production patterns with Code examples.

How Stripe Prevents Double Payments architecture breakdown
Aug 2025

How Stripe Prevents Double Payments

Discover how Stripe's engineering team prevents double payments using idempotency keys, database constraints, and smart retry logic. Practical lessons for building reliable payment systems.

55 Million Requests Per Second: Inside Cloudflare's Magic architecture breakdown
Aug 2025

55 Million Requests Per Second: Inside Cloudflare's Magic

Deep dive into Cloudflare's technical architecture - how 15 PostgreSQL clusters, ClickHouse, and Quicksilver work together to handle 55 million requests per second with millisecond latency.

How Uber Finds Nearby Drivers at 1 Million Requests per Second architecture breakdown
Aug 2025

How Uber Finds Nearby Drivers at 1 Million Requests per Second

How Uber matches you with a driver in seconds? Here's the fascinating story behind their 1M+ requests per second matching system.

WhatsApp's Scaling Secrets: A Deep Dive into System Design and Architecture architecture breakdown
Aug 2025

WhatsApp's Scaling Secrets: A Deep Dive into System Design and Architecture

How WhatsApp handles billions of messages daily with a lean engineering team, and what developers can learn from their technology choices.

Subscribe via RSS Feed

Add to Feedly, Inoreader, or your favorite RSS reader

Get RSS Feed

Explore All Posts

Server-Sent Events: One-Way Real-Time Streaming Over HTTP

Server-Sent Events: One-Way Real-Time Streaming Over HTTP

How Stock Brokers Push 1 Million Price Updates Per Second to Your Screen

How Stock Brokers Push 1 Million Price Updates Per Second to Your Screen

Heartbeat: How Distributed Systems Know You're Still Alive

Heartbeat: How Distributed Systems Know You're Still Alive

Your JSON is Costing You Thousands: Why TOON Might Save Your Budget

Your JSON is Costing You Thousands: Why TOON Might Save Your Budget

Stop Blocking Your Paying Customers: Build a Smart Rate Limiter

Stop Blocking Your Paying Customers: Build a Smart Rate Limiter

How Shopify Powers 5 Million Stores Without Breaking a Sweat

How Shopify Powers 5 Million Stores Without Breaking a Sweat

Long Polling Explained: Build Real-Time Apps Without WebSockets

Long Polling Explained: Build Real-Time Apps Without WebSockets

JSON, YAML, TOML, or HOCON: Choosing the Right Format Before It Breaks Production

JSON, YAML, TOML, or HOCON: Choosing the Right Format Before It Breaks Production

WebTransport: The Protocol That Fixes What's Broken in WebSockets

WebTransport: The Protocol That Fixes What's Broken in WebSockets

What Actually Happens When You Type a URL

What Actually Happens When You Type a URL

Postgres 18: The Release That Makes Databases Fast Again

Postgres 18: The Release That Makes Databases Fast Again

Java 25 is Finally Here: The LTS Release That Changes Everything

Java 25 is Finally Here: The LTS Release That Changes Everything

How Ticket Booking Systems Handle 50,000 People Fighting for One Seat

How Ticket Booking Systems Handle 50,000 People Fighting for One Seat

Hash Collisions: The Hidden Performance Killer in Your Code

Hash Collisions: The Hidden Performance Killer in Your Code

Why JWT Replaced Sessions: Building Auth That Scales

Why JWT Replaced Sessions: Building Auth That Scales

How Kafka Works: The Engine Behind Real-Time Data Pipelines

How Kafka Works: The Engine Behind Real-Time Data Pipelines

Kubernetes Architecture: The Operating System for the Cloud

Kubernetes Architecture: The Operating System for the Cloud

How Meta Achieves 99.99999999% Cache Consistency

How Meta Achieves 99.99999999% Cache Consistency

How Slack Built a System That Handles 10+ Billion Messages

How Slack Built a System That Handles 10+ Billion Messages

Paxos: The Democracy of Distributed Systems

Paxos: The Democracy of Distributed Systems

Write-Ahead Log: The Golden Rule of Durable Systems

Write-Ahead Log: The Golden Rule of Durable Systems

Building Distributed Counters for High-Traffic Systems

Building Distributed Counters for High-Traffic Systems

How Stripe Prevents Double Payments

How Stripe Prevents Double Payments

From Manual Testing to Automated Excellence: GitHub Actions

From Manual Testing to Automated Excellence: GitHub Actions

55 Million Requests Per Second: Inside Cloudflare's Magic

55 Million Requests Per Second: Inside Cloudflare's Magic

How Uber Finds Nearby Drivers at 1 Million Requests per Second

How Uber Finds Nearby Drivers at 1 Million Requests per Second

From Panic to Performance: A Guide to Grafana k6 Load Testing

From Panic to Performance: A Guide to Grafana k6 Load Testing

WhatsApp's Scaling Secrets: A Deep Dive into System Design and Architecture

WhatsApp's Scaling Secrets: A Deep Dive into System Design and Architecture

Prompt Engineering Basics for Software Developers

Prompt Engineering Basics for Software Developers

Git Command Line Basics: Essential Commands for Software Developers

Git Command Line Basics: Essential Commands for Software Developers

Taming Pipeline Chaos: How I Used GitLab APIs and GPT to Analyze Thousands of Failures and Boost Stability

Taming Pipeline Chaos: How I Used GitLab APIs and GPT to Analyze Thousands of Failures and Boost Stability

How to Exclude a Single Module from `sbt test` in a Multi-Module Scala Project

How to Exclude a Single Module from `sbt test` in a Multi-Module Scala Project

Github Actions for Android

Github Actions for Android

Pairing matrix for agile teams

Pairing matrix for agile teams

How to integrate GraphQL with Sitecore using JSS

How to integrate GraphQL with Sitecore using JSS

Flutter under the hood

Flutter under the hood

Monitoring individual queue in sidekiq

Monitoring individual queue in sidekiq

Why aren’t you using binstubs yet?

Why aren’t you using binstubs yet?

Offline Mode Of Android Apps

Offline Mode Of Android Apps

My upcoming talk in DroidConUK

My upcoming talk in DroidConUK

Integrating Sherlock with android apps

Integrating Sherlock with android apps

Why your android application needs awareness api

Why your android application needs awareness api

Java custom annotations

Java custom annotations

Prevent push on red build with the help of gocd_pre_push

Prevent push on red build with the help of gocd_pre_push

Conway's Game Of Life

Conway's Game Of Life

Notify when android device network status changes

Notify when android device network status changes

Observer Design Pattern

Observer Design Pattern

Filter Design Pattern

Filter Design Pattern

Ruby gem to fetch information from gocd as rich models

Ruby gem to fetch information from gocd as rich models

Android Data Binding

Android Data Binding

Android Custom Animations

Android Custom Animations

shell_session_update: command not found

shell_session_update: command not found

Android Draggable View

Android Draggable View

Android UI Design And Styling

Android UI Design And Styling

GIT revert multiple commits

GIT revert multiple commits

apkToJava - Gem to convert apk file to java code

apkToJava - Gem to convert apk file to java code

Android Padding vs Margin

Android Padding vs Margin

Android UI for beginners

Android UI for beginners

Decorator Design Pattern

Decorator Design Pattern

Junit Rules Vs Setup and TearDown

Junit Rules Vs Setup and TearDown

Android Build Process

Android Build Process

What happens when android screen rotates?

What happens when android screen rotates?

Is ruby monkey patching evil?

Is ruby monkey patching evil?

Android Instrumentation Testing Using Espresso

Android Instrumentation Testing Using Espresso

Testing Android Database

Testing Android Database

MVP in android

MVP in android

Gradient color in android

Gradient color in android

Tool to execute commands in multiple directories

Tool to execute commands in multiple directories

Writing a new programming language

Writing a new programming language

Print custom messages after executing git commands

Print custom messages after executing git commands

Cool tips for vim users

Cool tips for vim users

Schedule local notification in android

Schedule local notification in android

Add album cover to mp3 file

Add album cover to mp3 file

MediaMagic: Convert any media file into encoded string or vice-versa

MediaMagic: Convert any media file into encoded string or vice-versa

Closure in Ruby

Closure in Ruby

Android with sqlite database

Android with sqlite database

Basic configuration of VIM

Basic configuration of VIM

nokogiri ERROR Failed to build gem native extension on MAC

nokogiri ERROR Failed to build gem native extension on MAC

Cucumber and calabash for android app testing

Cucumber and calabash for android app testing

Vim modes - normal, insert and visual

Vim modes - normal, insert and visual

Set up automation using cucumber and capybara

Set up automation using cucumber and capybara

Instrumentation testing of list view

Instrumentation testing of list view

  • RSS
  • Email me
  • GitHub
  • Twitter
  • LinkedIn
  • StackOverflow
  • Instagram
  • YouTube

Ajit Singh  •  2025  •  singhajit.com  •  PDF Tools Hub  •  RSS Feed

Theme by beautiful-jekyll