~3 sessions a week: read the lesson (~15 min) + run and change its section of design/demo.py (~25 min). Tick lessons off — progress is saved in this browser.
Requirements, capacity, API design. Lab: rewrite the sheet for a canteen app; change users and ratio; compare OFFSET and cursor on page 50.
Data model, caching, load balancing. Lab: pick stores for four needs; size the cache; add a sixth server to the ring.
Queues, events, services. Lab: add workers; crash the dual write, then the outbox; add hops to the chain.
Consistency, transactions, rate limiting. Lab: try every R and W; fail each saga step; change the burst.
Resilience, security, observability, cost. Lab: set timeout budgets; run STRIDE on your own API; set an SLO; write an ADR.
Worked designs I and II. Lab: change the numbers of each design and watch its shape change.
Next: the Scaling school for the traffic, the Database school for the data, and the School portal for the rest.