Skip to main content

What is this site?

This is a personal learning guide for mastering System Design — both High Level Design (HLD) and Low Level Design (LLD) — built for software engineers preparing for interviews. Every page here represents something I’ve learned, summarized in a way that’s easy to follow and revisit.

How to use this guide

1

Start with Foundations

If you’re new to system design, begin with the Foundations section. It covers the core mental models you’ll need before anything else.
2

Move to HLD

Learn the building blocks of large-scale systems — databases, caches, load balancers, and how they fit together.
3

Then tackle LLD

Dive into object-oriented design, SOLID principles, and design patterns with real case studies.
4

Practice for interviews

Use the Interview Prep section to structure your thinking and practice end-to-end problems.

What’s covered

Foundations

Core concepts and how to approach any system design problem.

High Level Design

Scalability, databases, caches, queues, CDNs and more.

Low Level Design

OOP, SOLID principles, and Gang of Four design patterns.

Interview Prep

How to structure answers, avoid common mistakes, and practice.