bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths

Loading lesson path

← Learn

System Design

A system-design path for requirements, capacity estimates, APIs, data models, caching, queues, reliability, observability, and scale tradeoffs.

Chapter 1

Building Blocks

The reusable primitives every design leans on: load balancing, caching, sharding, queues, consistency, and estimation.

Chapter 2

Design a URL Shortener

Design a service that turns long URLs into short links, redirects on access, and reports click counts.

Chapter 3

Design a News Feed

Design a home timeline (Twitter/Instagram style) that shows recent posts from accounts a user follows.

Chapter 4

Design a Rate Limiter

Design a distributed rate limiter that caps how many requests a client (API key / IP) can make per time window.