system-design-primer -- a free guide to system design and the system design interview: a topic index, worked interview solutions, and three Anki flashcard decks.
Alternative to: Educative Premium at $199/year, ByteByteGo at $189 for one year or $499 lifetime, Exponent at $144/year, Design Gurus at $149.20/year, and interviewing.io mock interviews with a working engineer from $225 each.
Cost to run: free. What you give up is a feedback loop -- nobody grades your answer, nobody pushes back on your design, and the material only improves when the maintainer merges something.
Licence: Creative Commons Attribution 4.0 International, covering code and resources together. Free for commercial use with attribution. GitHub displays "Other" because CC BY is not on its list of recognised software licences.
Runs on: anything that renders a README. Anki, free and cross-platform, for the flashcard decks. Basic Python to read the code samples.
Requires: nothing.
Traction: ~364,000 stars · 57,900 forks · 121 contributors · 274 open issues / 127 closed · 332 open pull requests, the oldest opened 2017-04-07.
Liveness: slow -- the last commit to master was a batch of link fixes merged 2026-03-19, and nothing has been merged in the five months since.
Maturity: no version. The README calls it "a continually updated, open source project" while its "Under development" section -- MapReduce, consistent hashing, scatter-gather -- has been unchanged for years.
Links: repo · Trendshift peak #1, 2023-12-31
Figures as of 2026-08-18.
What it does
It is one enormous README that teaches you how large systems are put together, organised so you can revise from it.
The first half is a topic index: DNS, CDNs, load balancers, reverse proxies, database replication and sharding, caching strategies, message queues, asynchronous patterns, security, and the famous table of latency numbers every engineer should know. Each topic gets a short explanation, the trade-offs, and links out.
The second half is interview practice. A dozen or so classic system design questions -- design Pastebin, design a web crawler, design a key-value store for a search engine -- each with a worked solution: requirements, back-of-envelope estimates, a diagram, and a discussion of the choices. There is a parallel set of object-oriented design questions with solutions in Python.
Then there are the three Anki decks -- System Design, System Design Exercises, and OO Design -- which are the part people actually use daily.
It exists in Japanese, Simplified Chinese and Traditional Chinese. Fifteen other translations are marked "Stalled" in the project's own tracking file.
What it replaces, and what that costs
Interview preparation is a real market with real prices, and it is aimed at people who are between jobs.
Educative -- Grokking the Modern System Design Interview is not sold standalone; it comes inside the Premium subscription at $17/month billed annually, $199/year. List price is $398 before a discount that appears to run continuously.
ByteByteGo -- $189 for one year (list $399) or $499 lifetime (list $999). No monthly plan.
Exponent -- $12/month billed annually, $144/year, against a $79/month list.
Design Gurus -- $149.20/year, against a $373.44 list.
interviewing.io -- a single mock interview with a FAANG-level engineer starts at $225 and rises with the coach's seniority. Prices are not posted publicly before signup.
A candidate preparing seriously for one cycle, buying the obvious combination:
Educative Premium, one year -- $199
ByteByteGo, one year -- $189
Two interviewing.io mock sessions -- 2 × $225 = $450
Exponent annual, for peer mocks -- $144
Total: $982
before any one-to-one coaching.
The primer is $0 against that. But the honest comparison is not "$982 saved," because those products are not all selling the same thing. Educative, ByteByteGo and Design Gurus sell material -- and on material, the primer competes directly and for free. interviewing.io and Exponent sell a person on the other side of the table, and the primer has no answer to that at all. Nothing in this repo tells you your answer was wrong.
So: for the material line, roughly $199 to $189 a year is a genuinely avoidable cost. For the mock-interview line, $450 buys something the repo does not contain, and no amount of free reading substitutes for it. Subtracting the whole $982 would be arithmetic this entry has not earned.
Is it still alive?
Slow. Not archived, not abandoned -- but not maintained in any sense a contributor would recognise.
The last commit to master is `ae9bbd7`, "Fix link for UDP vs TCP (#1153)," merged by Donne Martin on 2026-03-19. That is the only documented maintainer activity found in 2026, and it was a link fix.
Against that: 332 open pull requests. The oldest, #52, "Grammar issues in README.md," was opened 2017-04-07 and has been open for more than nine years. There are 274 open issues against 127 closed -- more open than closed, which is what a stalled triage queue looks like from the outside.
Three things happened after that March merge, and none of them got a response:
Issue #1312, 2026-06-28, documenting that the content is dated for 2025-2026 practice.
Issue #1331, 2026-07-13, in which a contributor explicitly volunteered to take on a maintainer reviewer role. No reply.
PRs #1342, #1343 and #1344, all opened 2026-07-27, written specifically to fix the gaps raised in #1312. Unreviewed and unmerged.
The star count keeps rising. Trendshift records #1 on GitHub Trending, first reached 2023-12-31, and #1 Python Repository of the Week as recently as Week 23 of 2025 -- a repo that keeps trending on reputation while its pull request queue calcifies.
Donne Martin has made no public statement about the repo's maintenance status.
What people say
Reddit is blocked from the research sandbox, so relevant r/leetcode and r/ExperiencedDevs threads are not quoted and no vote counts from them are claimed. Hacker News permalinks below; HN shows points on submissions only, so story-level figures are given where they exist.
The most specific technical criticism, from someone who builds the thing being described, on a 2023 thread at 112 points:
"I had a look at the 'design a crawler' part, since that's something I have experience with. It makes some pretty sketchy assumptions and weird design choices. First in the back-of-the-envelope calculation it overestimates the size of a document by about two orders of magnitude."
-- marginalia_nu, news.ycombinator.com/item?id=38059816
And the argument about who this is actually for, in the same thread:
"This thing has 233k stars. I dare to say, without evidence, that the vast majority of devs does not know what e.g. the CAP theorem is----and they'll never need it. The vast majority of 'systems' are small-scale. Who's this massive audience?"
-- rollulus, news.ycombinator.com/item?id=38058815
Worth noting how different the early days were. The 2017 launch thread reached 508 points and 57 comments, and Donne Martin was answering in it: "Thanks for the feedback! I'll see if I can work in some of these suggestions. Pull requests are welcome :)" -- news.ycombinator.com/item?id=13838474
The catch
Specific sections have aged, and the fixes are sitting in the queue. The latency-numbers appendix still uses roughly 2012 figures -- L1 cache at 0.5ns, SSD random read at 150µs, a 1Gbps network -- rather than anything reflecting NVMe. The database section still centres on MySQL master-slave replication and the MySQL query cache, which was removed in MySQL 8.0, with no mention of distributed SQL, vector databases or lakehouse formats. Both are documented in issue #1312, and PR #1342 fixes the first one. It has been open since July.
The fundamentals are still correct. CAP, consistency models, load-balancing algorithms, sharding versus federation versus denormalisation, cache invalidation -- none of that expires. If you are using this to learn the vocabulary and the trade-offs rather than the current product landscape, it holds up.
There is no feedback loop. The solutions are static reference text. Nothing evaluates your answer, and in a system design interview the evaluation is the exam.
The interview-theatre criticism is fair and worth sitting with. Several of the HN commenters argue the material trains pattern-matching for a panel rather than production judgement. That is a criticism of the format as much as the repo, but the repo is the best-known instance of the format.
Community fixes do not land. 332 open PRs, an offer to help with review that went unanswered, and three targeted freshness fixes ignored for three weeks and counting. If you find an error, expect to fix it in your own fork.
Credits
Donne Martin (donnemartin, @donne_martin), Tech Lead at Meta, who wrote it and merged the last change to it. savasva, whose link fix is the most recent commit on master. The 121 contributors on the repo, and the 332 whose pull requests are still waiting. The Hacker News commenters quoted above. Pricing verified against Educative, ByteByteGo, Exponent and Design Gurus' own pages, and a third-party review for interviewing.io, which does not publish rates before signup; peak rank from Trendshift.


