system-designlisted
Install: claude install-skill MKAbuMattar/sysdesign
# System Design
## Overview
A concise, opinionated reference for reasoning about backend and distributed systems. Use it to explain a concept, compare options, pressure-test an architecture, or drill interview topics. Each topic leads to a fuller, self-contained reference file under `references/` — the knowledge lives here, not behind a link.
**Core principle:** design is a chain of tradeoffs, not a stack of best practices. State the constraint, pick the option that fits it, name what you gave up.
## When to use
- "How does X work / explain X" for a system-design concept (polling vs SSE vs WebSocket, CDN, sharding, Kafka, OAuth, K8s service types...)
- "X vs Y" comparisons (REST vs GraphQL vs gRPC, SQL vs NoSQL, Redis vs Memcached, orchestration vs choreography)
- Reviewing an architecture or diagram for gaps (single points of failure, missing backpressure, cache stampede, auth holes)
- Choosing a component under real constraints (which DB, which queue, which deployment strategy)
- Interview prep (framework for answering, algorithms to know, common problems)
Not for: writing application code (use language skills), or product/business decisions.
## Reference map
Load the file that matches the topic. Each is a standalone quick-reference.
| Area | File | Covers |
|------|------|--------|
| API & web | `references/api-web.md` | REST/GraphQL/gRPC, gateways vs LBs vs reverse proxies, polling/SSE/WebSocket, HTTP versions, pagination, API security |
| Data & storage | `refer