Open-source project
SweetCodey/system-design-masterclass avatar
SweetCodey/system-design-masterclass

system-design-masterclass: a design study repository by module

This material is based on the System Design Masterclass (2025) course available on Udemy. You can find the course here: System Design Masterclass. You can also find many free resources related to this on Sweet Codey Official Website.

1,106 stars503 forksUnknownNOASSERTION

At a glance

What is it?
SweetCodey's system-design-masterclass repository is a companion for the System Design Masterclass course, organised as one directory per design exercise, from a news feed to a payment system. It is worth reading as a structured map of what a system design interview expects you to talk about, and not as a library you can depend on.
Who is it for?
Use this repository as a checklist of design topics and a set of worked examples if you are preparing for a system design interview or teaching the subject yourself, and read the module READMEs rather than assuming the repository code is production ready. Do not adopt it as a dependency, because the licence is custom, the content is tied to a paid course, and nothing in the project is versioned.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 175 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on November 7, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • SweetCodey/system-design-masterclass1,106 ★ · +3
Star history
Repository2026-10-222026-11-07
SweetCodey/system-design-masterclass1.1k1.1k

3 Stars in the last 16 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

A companion for a paid course, not a library

The repository describes itself plainly. It is a collection of content based on the System Design Masterclass (2025) course on Udemy, and the same paragraph points to the course page and to free resources on the Sweet Codey official website. The about section repeats the point: the repository was created in relation to the course and compiles structured resources on system design principles for anyone interested in the subject.

So this is a teaching artefact with a licence that is not a standard open source licence, since GitHub cannot classify it and points you to a LICENSE file instead. That distinction matters more here than it would for a library, because a teaching artefact is still copied, quoted and turned into internal training documents.

The technical profile is also unusual for this kind of repository: the primary language is listed as unknown, there are no GitHub releases, and the last push was on 2026-05-16. There is no package to install, no version to pin and no dependency graph. What there is, is a directory per exercise and a README per directory.

The early modules walk the classics in order

The README lays out the course structure as a numbered sequence, and the ordering is instructive. Module one covers the basics: the principles and patterns of system design, scalability, reliability and performance, the trade-offs behind architectural decisions, and the core components of distributed systems.

From there the exercises move to products people recognise. Module two is an Instagram style news feed, with feed generation algorithms, real time delivery, personalization and caching strategies for social feeds. Module three is YouTube, covering video upload, processing and storage, CDN integration, recommendation and scalable streaming. Module four is TinyURL, which is the shortest exercise and the most useful for beginners: URL shortening algorithms, distributed ID generation, redirection mechanisms and latency optimisation, plus analytics and tracking.

Module five is a rate limiter, and the subtopics are the ones an interviewer listens for: token bucket and leaky bucket algorithms, distributed approaches, API gateway integration, and edge cases and abuse prevention. Module six is WhatsApp, covering real time messaging, end to end encryption, presence indicators, and delivery guarantees and synchronisation. Modules seven and eight move to a search system, with inverted index construction, ranking, query parsing and result caching, and then to Airbnb, with marketplace architecture, search and recommendation, and booking and payment processing.

Fourteen directories exist, and the README lists eleven

The most useful thing in the top level file is also the most surprising. The README describes eleven modules and stops at a cab sharing system in module eleven, with booking, tracking and ride history. The repository root, however, lists sixteen numbered directories. The five that the README never mentions are an OTP service, a stock broker service, an online shopping system, a Google Maps design, and a payment system.

Reading the root listing is therefore part of the work. If you navigate the site by the README alone you will miss a third of the exercises, and the payment system, the Google Maps design and the online shopping system are exactly the kinds of multi-service problems that carry the most weight in a design discussion.

Two more root entries sit outside the numbering. Common Technologies/ holds shared content that the modules presumably rely on, and Course Notes/ contains notes from the course. The README is explicit about the status of that last one: it is useful for reference but not actively maintained. That sentence tells you exactly how to treat it, and it is a useful signal about the difference between the maintained module READMEs and the raw notes.

How the repository is meant to be used

The usage section is four steps, and it is worth quoting the shape of it because it says what a module actually contains. You clone the repository to your local machine, navigate to the module you are interested in, and follow the instructions in that module's README to explore the content. Each module contains diagrams, code samples and detailed explanations, and the stated purpose is to help you understand the concepts.

That is the whole workflow. There is no build step, no test suite and no way to run the code as an application, which is consistent with a repository whose language is unknown. The diagrams carry most of the teaching weight in a subject like this, since the point of a system design exercise is the shape of the architecture and the reasoning behind it, not a running service.

The contribution rules are equally short: fork the repository, create a branch for your changes, and submit a pull request with a detailed description. There is no contribution guide, no code of conduct and no developer setup, which is another way of saying that pull requests here are documentation changes rather than code contributions.

Why the README stops at eleven modules

Several details point to a repository that grew alongside a course rather than around a maintained tool. The root listing contains directories with trailing spaces in their names, a sign of quick creation from a file manager. The names use spaces and punctuation, 12. Design OTP Service/ and 15. Design Google Maps/, and they are not percent-encoded the way a web server would want them.

The licensing is the other signal. A custom licence that GitHub cannot classify, no releases, and a repository whose language cannot be detected, all point to a package of teaching documents rather than a project with a distribution story. The last push on 2026-05-16 tells you the content was still being touched a few months ago, but it says nothing about whether the individual module READMEs were revised in the same pass.

Then there is the relationship with the paid course. The repository points at a Udemy course with a referral code, and it also points at free resources on the project's own website. The honest reading is that the repository is the free portion of a commercial product. That is not a problem in itself, but it does mean the depth you find in a module depends on how much the author chose to put in the free part, and it is why the unlisted modules in the root are worth opening.

Who should spend time here

The audience is narrow and clearly defined: someone learning system design as a structured subject, either preparing for interviews or teaching it. For that purpose, one directory per classic problem, each with diagrams and code samples, is a genuinely good way to work through the topics, and the sequence from news feed to rate limiter to messaging to search to payment is a sensible curriculum order.

For an engineer building a system, the value is different. You will not import anything, and you should not copy a diagram into a design document without checking it, because these are illustrations produced for a lesson rather than reference designs with stated guarantees. The exception is the topic checklist: the subtopic lines under each module are a compact map of what a design conversation needs to cover, and the fact that end to end encryption, presence, delivery guarantees, inverted indexes, token buckets, CDN integration and payment flows all appear as named items is a useful thing to have on a whiteboard.

Start with module one for the vocabulary, then pick the exercises closest to the problems on your desk, and open the unlisted directories as well, since the README stops earlier than the repository does. If you intend to reuse the diagrams or code in your own work, check the LICENSE file first, because the terms there are not a standard open source licence.

Editorial conclusion

Use this repository as a checklist of design topics and a set of worked examples if you are preparing for a system design interview or teaching the subject yourself, and read the module READMEs rather than assuming the repository code is production ready. Do not adopt it as a dependency, because the licence is custom, the content is tied to a paid course, and nothing in the project is versioned. Before you rely on any of it, check the LICENSE file, confirm the module you care about is the one the README describes rather than one of the unlisted directories, and read the diagrams and code samples with the expectation that they illustrate a lesson rather than specify an implementation.

Frequently asked questions

What is SweetCodey's system-design-masterclass repository?

It is a study repository created in relation to the System Design Masterclass (2025) course on Udemy, compiling resources on system design principles. The project also points to free resources on the Sweet Codey official website.

Which system design topics does the repository cover?

The README describes eleven modules covering the basics, an Instagram style news feed, YouTube, TinyURL, a rate limiter, WhatsApp, a search system, Airbnb, a notification system, a distributed logging system and a cab sharing system.

Are there modules in the repository that the README does not list?

Yes. The top level directory listing includes five numbered directories the README never mentions: an OTP service, a stock broker service, an online shopping system, a Google Maps design and a payment system. There is also a Common Technologies directory and a Course Notes directory.

Can I use the code and diagrams from this repository in my own work?

The licence is a custom one that GitHub cannot classify, and the project points to a LICENSE file, so the terms have to be read there before reusing the diagrams or code samples. The repository is also tied to a paid Udemy course.

Is the course notes section of the repository up to date?

The README says the Course Notes directory contains notes from the course and is useful for reference but not actively maintained. The module directories each have their own README with diagrams, code samples and detailed explanations.

Official sources

  1. Issues
  2. README
  3. SweetCodey/system-design-masterclass on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/sweetcodey-system-design-masterclass.svg)](https://hysenlabs.com/projects/sweetcodey-system-design-masterclass)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/sweetcodey-system-design-masterclass.svg)](https://hysenlabs.com/projects/sweetcodey-system-design-masterclass)

Was this useful?