donnemartin / system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
github.com/donnemartin/system-design-primerIndexed at ae9bbd7Up to date with upstream
What is system-design-primer?
system-design-primer is a learning guide for designing large-scale systems and preparing for system design interviews. It organizes system design resources, explains scalability principles and trade-offs, and provides interview exercises with sample discussions, code, and diagrams. The repository is primarily written in Python, with one shell file.
Written by a model from the README and the source
51 files and 209 symbols in 2 modules, led by Python (26 files) and Shell (1).
Code health
This codebase scores 9.4 out of 10 for code health, which we rate excellent. It also scores maintainability 8.9 and static performance 10.0 out of 10. The three are scored separately and never blended into one number.
Use donnemartin/system-design-primer in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/donnemartin/system-design-primer
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is system-design-primer put together?")
- get_why("why is system-design-primer structured this way?")
Explore system-design-primer
- DocumentationModule-by-module documentation, written from the source.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of system-design-primer
- The guide organizes system design topics with summaries, trade-offs, and links to deeper resources.
- The project provides steps for approaching open-ended system design interview questions.
- The project includes system design interview questions with sample discussions, code, and diagrams.
- The project includes object-oriented design interview questions with sample discussions, code, and diagrams.
- The project includes Anki flashcards for interview preparation.
How donnemartin/system-design-primer works
The guide starts with system design principles and directs learners through scalability, performance, availability, consistency, storage, caching, communication, and security topics. Its main README presents the topic index, interview approach, and links to exercises and solutions. The solutions directory provides sample discussions, code, and diagrams for system design and object-oriented design questions. Interview preparation proceeds from creating a high-level design to designing core components and addressing bottlenecks with techniques such as load balancing, horizontal scaling, caching, and database sharding. The root files provide the guide and repository-level material, while the .github directory holds repository configuration.
The codebase has 51 files and 209 symbols in 2 modules, led by Python and Shell. Code health is 9.4 out of 10, rated excellent.
donnemartin/system-design-primer FAQ
What is system-design-primer?
system-design-primer is a learning guide for designing large-scale systems and preparing for system design interviews. It organizes resources, explains system design topics, and provides exercises with sample solutions.
How does system-design-primer work?
system-design-primer guides learners from system design principles to high-level designs, core components, and scalability trade-offs. Its solutions directory contains sample discussions, code, and diagrams for interview questions.
What language is system-design-primer written in?
system-design-primer is primarily written in Python. The repository also includes one shell file.
How is the system-design-primer code organized?
system-design-primer is organized mainly into the solutions directory and root-level files. The solutions directory contains the repository's interview solution material, while the root holds the guide and repository-level content.
Who is system-design-primer for?
system-design-primer is for people learning to design large-scale systems and preparing for system design interviews. It also supports preparation for object-oriented design interview questions.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of donnemartin/system-design-primer from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain donnemartin/system-design-primer?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of donnemartin/system-design-primer. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/donnemartin/system-design-primer?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/donnemartin/system-design-primer?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/donnemartin/system-design-primer?src=badge_card)