Code Labs

Build the pieces yourself

22 small builds of the parts that appear in system designs. Read the idea, run it in your browser, change it, and extend it. Plain TypeScript, with a check that proves it works.

0 of 22 finished

Traffic 0/3Caching 0/2Data 0/6Storage 0/3Distributed 0/5Search 0/3
Start hereLRU cacheStarter · about 20 min
  1. 1Learn the idea. Each lab says in plain words what the piece does and why systems need it.
  2. 2Watch it, then run it. Follow a guided demo, play with the picture, then run the real code in your browser and change it.
  3. 3Extend it. Try the extra challenges that make it closer to what real systems do.

Every lab has a guided demo and runs in your browser, except those marked “On your computer”, which read and write files.

Traffic

Decide who gets in, and where each request goes.

Caching

Keep hot data close, and know when to let it go.

Data

Clever structures that answer big questions in small memory.

Storage

How databases keep data safe and find it fast.

Distributed

Many machines that must agree, or at least cope.

Finding the right thing quickly, and measuring whether it was right.