GET /hld · building in public

Let's do
system design.

A structured course on high-level and low-level design — taught the way I'd answer in a real interview. Every problem walks the same six-step framework, so the approach becomes muscle memory before the whiteboard does.

The framework

part 1 · 6 steps
start here

How this course works

The six-step framework, why it exists, and how to practice with it.

read the lesson →
step 01

Functional Requirements

What the system must do. Scope ruthlessly — interviews are won here.

read the lesson →
step 02

Non-Functional Requirements

Scale, latency, availability, consistency. The numbers that shape every choice after.

coming soon
step 03

Core Entities

The nouns of the system — the data model everything else hangs off.

coming soon
step 04

API Design

Contracts between components. Endpoints, payloads, and idempotency.

coming soon
step 05

High-Level Design

The boxes-and-arrows diagram — services, queues, caches, and data flow.

coming soon
step 06

Deep Dives

Bottlenecks, failure modes, and trade-offs. Where senior signals live.

coming soon

Problem sets

part 2 · full walkthroughs

Problem 01 — Distributed Logging System

Kafka, Elasticsearch, S3, Redis, and SSE — the full six-step walkthrough.

in progress

new lessons ship as they're written — no schedule, no filler.