Keep going

Further resources

This course covers the fundamentals; these go deeper on specific topics, and give you more systems to practice designing.

Practice prompts

The best way to retain this material is to design a new system from scratch using the same framework: requirements, scale estimate, architecture, data model, then caching, reliability, security, and observability. Try these, in roughly increasing order of difficulty:

Pastebin

Very close to Shorty — a good first system to design fully on your own before looking at hints.

A social media feed

Introduces fan-out at write time vs read time, and ranking.

A ride-sharing dispatch service

Adds geospatial queries and matching under tight latency.

A payments system

Forces strong consistency, idempotency, and auditability trade-offs that Shorty could avoid.

A video streaming service

Introduces large binary storage, transcoding pipelines, and CDN-heavy delivery.

A collaborative document editor

Introduces operational transforms / CRDTs and real-time multi-writer consistency.

Books

Sites worth bookmarking

Back to the courseView syllabus