Real systems. Real code. Real trade-offs.
π Hands-on implementations of real-world system design problems in Go and Rust. This repo focuses on building production-oriented backend and distributed systems from first principles β no diagrams without code, no theory without execution.
- π§ Turn system design ideas into running systems
- βοΈ Expose engineering trade-offs, not just clean architectures
- π§© Practice step-by-step design β implementation
- π Build intuition for scale, reliability, and performance under load
β Not an interview cheat sheet. β Every system is executable, testable, and stress-tested where it matters.
Each system lives as an independent module and typically includes:
- π Clear problem definition and constraints
- π§ Key design decisions and assumptions
- π¦ / πΉ Go and/or Rust implementations
- π Concurrency and synchronization logic
- π§ͺ Basic tests and load/stress scenarios
- π§ Known limitations and next-step improvements
- π ID generators
- π URL shorteners
- π¦ Rate limiters
- ποΈ Job queues
- π·οΈ Web crawlers
- β‘ Caching layers
/
βββ go/
β βββ id-generator/
β βββ url-shortener/
β βββ ...
βββ rust/
β βββ id-generator/
β βββ rate-limiter/
β βββ ...
βββ docs/
βββ design-notes/
- βοΈ Prefer explicit, readable code over clever abstractions
- π οΈ Optimize for correctness before performance
- π Measure behavior under load instead of guessing
- π₯ Treat failures as first-class design inputs
Actively evolving. Systems are added incrementally and refined as complexity and scale increase.