Blogs

Technical articles on system design, backend engineering, Go, and distributed systems.

Read on Medium→
Design Google Autocomplete System
System Design

Design Google Autocomplete System

Building a type-ahead search system with tries, real-time ranking, and low-latency delivery at scale — the way Google and Bing do it.

Read more →
Design Google Drive
System Design

Design Google Drive

How to architect a cloud storage system like Google Drive — chunking, deduplication, sync, conflict resolution, and storage at petabyte scale.

Read more →
System Design Important Terminology
System Design

System Design Important Terminology

A reference guide covering the key terms and concepts every system design interview demands — from scalability and availability to caching and load balancing.

Read more →
Design a Chat System
System Design

Design a Chat System

System design walkthrough for building a scalable real-time chat platform — WebSockets, message storage, fan-out, and presence at scale.

Read more →
Operating System Internals
OS

Operating System Internals

OS fundamentals that every systems programmer should understand — processes, threads, memory management, scheduling, and system calls.

Read more →
Concurrent Control in Distributed Systems
Distributed Systems

Concurrent Control in Distributed Systems

A practical exploration of concurrency control strategies — locking, MVCC, optimistic concurrency, and event-driven patterns in distributed architectures.

Read more →
Go: Goroutines, Channels, Mutex, Atomic & Garbage Collector
Go

Go: Goroutines, Channels, Mutex, Atomic & Garbage Collector

A deep dive into Go concurrency primitives and how the Go runtime manages memory — from goroutines to the tricolor mark-and-sweep GC.

Read more →
How I Reduced API Latency from 200ms to 20ms
Performance

How I Reduced API Latency from 200ms to 20ms

Practical techniques that slashed API response times by 10x in a production backend — profiling, caching, query optimization, and connection pooling.

Read more →
Distributed Systems
System Design

Distributed Systems

Core concepts behind distributed systems — consistency, availability, partition tolerance, and the real trade-offs engineers face daily.

Read more →
Multithreading in Java
Java

Multithreading in Java

Deep dive into Java threads, synchronization, and concurrent programming patterns for building performant backend systems.

Read more →
VA
Vishal
Aggarwal

Full Stack Developer

Ask about Vishal ✦