ByteByteGoHq/system-design-101Public

Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.

AI summary: A visual encyclopedia illustrating complex system design concepts and real-world architectures.

Stars
90.2K
+17 today
Forks
10K
Watchers
1.1K
Open issues
46
Open PRs
23
Contributors
~16
Commits
25
Branches
1

OtherCreated Sep 18, 2023Last push 1y ago+162 stars this week+1.5K this month

Quick answers

What is system-design-101?
A visual encyclopedia illustrating complex system design concepts and real-world architectures.
What does system-design-101 do?
This repository provides an extensive, visual breakdown of complex software architecture and distributed system concepts. It transforms dense engineering topics into highly accessible, clear diagrams and concise explanations. The guides cover everything from fundamental API design and database scaling to the specific architectural evolutions of companies like Netflix and Uber. It acts as a companion to the ByteByteGo newsletter, giving engineers a practical, real-world reference for scaling modern applications. The content is heavily focused on the trade-offs and patterns necessary for passing FAANG-level system design interviews.
Who is system-design-101 for?
Software engineers, system architects, and engineering managers aiming to deepen their understanding of scalable system design. It is especially useful for candidates preparing for high-level technical interviews.
How do I get started with system-design-101?
Browse the README.md to find links to specific topics and diagrams.
How popular is system-design-101 on GitHub?
ByteByteGoHq/system-design-101 has 90,213 stars and 10,017 forks on GitHub, and gained 162 stars in the last 7 days.
What license does system-design-101 use?
ByteByteGoHq/system-design-101 is released under the Other license.

Star history

since Oct 15, 2023
025K50K75KOct 2023Oct 2024Sep 2025Oct 2026
90.2K stars as of Oct 4, 2026. Before Jul 28, 2026, reconstructed from public GitHub event archives (checked against the repository's real star total); since then measured daily.

Contribution activity

commits per day, last 52 weeks

Signals and awards

derived from tracked data
  • Landmark project

    90,213 stars

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

  • Top 10% tracked

    Rank 90 of 1135

What system-design-101 does

This repository provides an extensive, visual breakdown of complex software architecture and distributed system concepts. It transforms dense engineering topics into highly accessible, clear diagrams and concise explanations. The guides cover everything from fundamental API design and database scaling to the specific architectural evolutions of companies like Netflix and Uber. It acts as a companion to the ByteByteGo newsletter, giving engineers a practical, real-world reference for scaling modern applications. The content is heavily focused on the trade-offs and patterns necessary for passing FAANG-level system design interviews.

Software engineers, system architects, and engineering managers aiming to deepen their understanding of scalable system design. It is especially useful for candidates preparing for high-level technical interviews.

  • Visual concept breakdown: Simplifies abstract distributed systems concepts like message queues, caching, and CDN routing through high-quality diagrams.
  • Real-world case studies: Details the specific tech stacks and architectural evolutions of major platforms like TikTok, Discord, and Shopify.
  • Comprehensive API guides: Offers extensive documentation on REST, GraphQL, gRPC, and effective API security practices.
  • Database and storage patterns: Explains various data management strategies including read replicas, locking mechanisms, and change data capture.
  • Broad protocol coverage: Breaks down the evolving landscape of API protocols and deep dives into AI and machine learning architectures.

Where teams use it

Preparing for system design interviews

Engineers study the visual patterns and trade-offs to prepare for rigorous technical interviews at top-tier tech companies.

Referencing proven architectures

Senior developers consult the real-world case studies when designing new microservices to understand how companies like Netflix solved similar scale issues.

Evaluating technical trade-offs

Architects use the clear comparisons to make informed decisions on whether to adopt specific database isolation levels or API protocols.

Educating engineering teams

Engineering managers use the diagrams to help onboard junior developers onto complex, distributed systems.

Getting started: Browse the README.md to find links to specific topics and diagrams.

README

main branch

【 👨🏻‍💻 YouTube | 📮 Newsletter 】

ByteByteGoHq%2Fsystem-design-101 | Trendshift

System Design 101

Explain complex systems using visuals and simple terms.

Whether you're preparing for a System Design Interview or you simply want to understand how systems work beneath the surface, we hope this repository will help you achieve that.

Table of Contents

License

This work is licensed under CC BY-NC-ND 4.0

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Code frequency

additions and deletions

Commits per week

last 52 weeks

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 1 commitsSun 19:00 — 0 commitsSun 20:00 — 1 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 2 commitsMon 0:00 — 0 commitsMon 1:00 — 1 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 1 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 0 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 0 commitsMon 16:00 — 0 commitsMon 17:00 — 1 commitsMon 18:00 — 0 commitsMon 19:00 — 2 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 1 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 0 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 1 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 1 commitsTue 23:00 — 0 commitsWed 0:00 — 1 commitsWed 1:00 — 2 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 1 commitsWed 17:00 — 1 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 1 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 1 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 1 commitsThu 10:00 — 0 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 1 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 2 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 1 commitsFri 23:00 — 0 commitsSat 0:00 — 1 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Sep 4, 2026daily#9+158
Sep 3, 2026daily#9+158
Jul 14, 2026daily#24+4