The System Design Primer
Donne Martin's open source System Design Primer, one of the most starred repositories on GitHub. It collects concept explanations (scalability, caching, databases, consistency, availability, load balancing and more), a study guide scaled to how much time you have, worked design exercises with solutions, object-oriented design exercises and Anki flashcard decks. It suits self-learners who want a free, broad reference for system design and are willing to impose their own order on it.
371k
GitHub · Sept 2026
58.6k
GitHub · Sept 2026
March 2026
GitHub · Sept 2026
CC BY 4.0
GitHub · Sept 2026
GitHub repo
System Design
Donne Martin
3 to 6 weeks
Intermediate
Free
What is in the repository
- A study guide that suggests which topics to cover depending on whether you have a short, medium or long timeline
- How to approach a system design question, with a step-by-step outline
- Concept sections: performance versus scalability, latency versus throughput, availability versus consistency and the CAP theorem, consistency and availability patterns, DNS, CDNs, load balancers, reverse proxies, application layer and microservices, relational and NoSQL databases (replication, federation, sharding, denormalisation), caching strategies, asynchronism and queues, communication protocols (HTTP, TCP, UDP, RPC, REST) and security basics
- Worked system design exercises with solutions, such as Pastebin, a Twitter timeline and search, a web crawler, Mint.com, a social network data structure, a key-value store for a search engine and scaling a system to millions of users on AWS
- Object-oriented design exercises with code, such as a hash map, an LRU cache, a call centre, a deck of cards, a parking lot and a chat server
- Anki flashcard decks for spaced repetition
- Appendices with powers of two, latency numbers every programmer should know, and links to real-world architectures and company engineering blogs
- Translations into many languages by contributors
The numbers
As of September 2026 the repository has about 371k GitHub stars and 58.6k forks, making it one of the most starred projects on GitHub. The last commit to the main branch was in March 2026, so it is maintained but changes slowly. Content is licensed CC BY 4.0.
Its strength and its weakness
The strength is coverage and the price: it is free and very broad. The weakness is the same coverage. The sheer volume makes it easy to browse indefinitely without finishing anything, and it has no strongly opinionated order, so it rewards readers who already know what they need. Some sections and links also date from the late 2010s; the concepts hold up, but newer topics such as LLM infrastructure are not covered.
How to use it
- Use the study guide at the top to pick a scope that matches your actual timeline, and ignore everything outside it.
- Read the concept sections for that scope, making short notes in your own words.
- Do the worked exercises actively: attempt each design for 30 to 45 minutes before opening the solution.
- Load the Anki decks and review a few minutes daily; spaced repetition is how the terms stick.
- Follow the real-world architecture links once the basics are solid.
A focused pass through the core concepts and exercises takes several weeks at an hour a day.
Pair it with
- A structured course or book, such as the System Design Interview books, if you want a guided order
- Designing Data-Intensive Applications, for depth on the database and consistency sections
- Awesome Scalability or High Scalability, for more real-world case studies
Common questions
Is it free? Yes, entirely, under CC BY 4.0.
Is it enough on its own for a design interview? For many junior and mid-level candidates, combined with practice out loud, yes. Senior candidates usually need more depth on storage and distributed systems.
Is it up to date? The fundamentals are timeless; some examples and links are dated. Treat it as a foundation, not a survey of current technology.
Best for: self-learners who want a free, broad system design reference with exercises and flashcards.
Ready to start?
Opens on Donne Martin in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.