Learn system design from
first principles.

Track your progress.
Full curriculum
OrientationSD3

Orientation

Module016

One request, end to end

Module027

Where data lives

Module039

Thinking like a designer

Module049

Scaling the stateless tier

Module0510

Staying correct under failure

Module068

Caching and fast reads

Module0712

Relational databases, properly

Module0810

NoSQL and partitioning

Module095

IDs, clocks, and ordering

Module106

Replication and consistency

Module118

Coordination

Module1212

Storage engines from scratch

Module139

Object storage

Module148

Queues and events

Module156

Workflows, schedulers, and contention

Module169

Search engine internals

Module179

Search at scale and search features

Module188

Probabilistic data structures

Module197

Counting and analytics pipelines

Module202

Recommendations

Module214

Realtime delivery

Module228

Social products

Module238

Geo and matching

Module249

Media, files, and CDN

Module254

File sync

Module264

Observability and incidents

Module274

Changing a live system

Module286

Data protection and tenancy

Module295

The system design interview

Module302

Capstone

Curated lessons show the depth of the course. Pro unlocks the protected notes, designs, and runnable builds.Read a free lesson

124 online