ScaleDojo Learn: API Design Fundamentals
Master REST, GraphQL, gRPC, and event-driven API architectures step by step.
Or read the history behind it
The Protocol Chronicles - From CORBA to GraphQL, 55 years of protocol evolution.
Big Billion Days
A high-pressure system design and engineering challenge inspired by the scale of Big Billion Days. Design a system that can handle millions of users, massive traffic spikes, real-time inventory updates, concurrent orders, payments, and flash-sale demand without compromising performance or reliability.
Compare stats and compete with top...
API Design Lab
Progressive API Design Curriculum
Solve levels sequentially - each clear unlocks the next challenge
Act 1
#1 Hello, API World
EasyFresherDesign your very first REST API - a simple user resource with proper naming and HTTP methods.
#2 The CRUD Master
EasyFresherBuild a complete CRUD lifecycle for a posts resource with proper HTTP method semantics.
#3 Status Code Symphony
EasyFresherMaster the HTTP status code taxonomy - know exactly which code to return for every situation.
#4 Nested Treasures
EasySDE 1Design sub-resource relationships - when to nest /users/{id}/posts vs flatten /posts?filter=user_id.
#5 The Query Master
Easy-MediumSDE 1AmazonMaster filtering, sorting, and searching with query parameters.
#6 Page Turner
MediumSDE 2GoogleStripeImplement pagination strategies - offset, cursor-based, and keyset.
#7 The Error Whisperer
MediumSDE 2StripeDesign a consistent error response format following RFC 7807 Problem Details.
#8 Request & Response
MediumSDE 1Design request/response DTOs with proper field conventions, types, and enumerations.
#9 The Gatekeeper
MediumSDE 2Design authentication and authorization for your API - API keys, JWT, and OAuth 2.0.
#10 Version Control
MediumSDE 2GoogleStripeDesign an API versioning strategy that supports backward compatibility.
Act 2
#11 Rate Limit Fortress
MediumSDE 2AmazonUberDesign rate limiting headers and 429 responses that don't leave developers guessing.
#12 The Cache Architect
MediumSDE 2GoogleDesign HTTP caching with ETags, If-None-Match, and Cache-Control headers.
#13 Bulk Operations HQ
Medium-HardSDE 2GoogleMicrosoftDesign batch endpoints with partial success handling and 207 Multi-Status.
#14 The Webhook Wire
Medium-HardSDE 2StripeDesign a webhook system with event types, HMAC signing, and retry policies.
#15 Idempotency Shield
HardSDE 3StripePayPalImplement idempotency keys for safe retries on payment and order creation.
#16 Long-Running Ops
HardSDE 3GoogleAmazonMicrosoftDesign async operation patterns with 202 Accepted and polling endpoints.
#17 The File Vault
HardSDE 3AmazonGoogleDesign file upload/download APIs with presigned URLs and resumable uploads.
#18 Search Engine API
HardSDE 3GoogleDesign an advanced search API with facets, highlighting, and suggestions.
Act 3
#19 Schema Genesis
MediumSDE 1MetaDesign your first GraphQL schema - types, fields, queries, and non-null markers.
#20 Mutation Station
MediumSDE 1MetaDesign GraphQL mutations with input types and proper return types.
#21 The Resolver Graph
HardSDE 3MetaNetflixAirbnbSolve the N+1 problem with DataLoader batching and resolver chain design.
#22 Relay Connections
HardSDE 2MetaImplement Relay-style cursor pagination with edges, nodes, and pageInfo.
#23 Real-Time Feed
HardSDE 3MetaDesign GraphQL subscriptions for real-time updates over WebSocket.
#24 Permission Matrix
HardSDE 3MetaDesign field-level authorization with @auth directives and type policies.
#25 Query Fortress
HardSDE 3MetaProtect your GraphQL API from malicious queries using depth limiting and complexity analysis.
#26 Schema Federation
ExpertStaff+NetflixDesign a federated GraphQL schema with Apollo Federation directives.
#27 Custom Scalars Lab
Medium-HardSDE 2MetaDesign custom scalar types for type-safe validation - DateTime, Email, URL, JSON.
#28 Schema Evolution
HardSDE 3MetaNetflixEvolve a GraphQL schema without breaking existing clients - deprecation, aliases, and additive changes.
Act 4
#29 Proto Origins
MediumSDE 1GoogleDesign your first Protocol Buffer schema - messages, services, and field numbers.
#30 Service Contracts
Medium-HardSDE 2GoogleUberDesign a multi-service gRPC architecture with well-defined contracts.
#31 Stream Engine
HardSDE 3GoogleNetflixDesign gRPC streaming RPCs - server streaming, client streaming, and bidirectional.
#32 Wire Evolution
HardSDE 3GoogleNetflixEvolve a proto schema safely - backward and forward compatibility rules.
#33 Error Dimensions
Medium-HardSDE 2GoogleUberDesign gRPC error handling with status codes, error details, and rich error models.
#34 Deadline Chains
HardSDE 3GoogleUberDesign deadline propagation across a chain of gRPC services.
#35 Event Storm
HardSDE 3AmazonNetflixDesign domain events for an e-commerce system - event naming, payload design, and event catalog.
#36 Saga Master
ExpertStaff+AmazonStripeUberDesign a saga pattern for distributed transactions with compensating actions.
#37 CQRS Command Center
ExpertStaff+AmazonMicrosoftNetflixDesign a CQRS architecture separating commands from queries with event sourcing.
#38 Schema Registry
HardSDE 3UberLinkedInDesign a schema registry for event contracts with versioning and compatibility checking.
#39 Exactly Once
ExpertSDE 3StripeAmazonDesign exactly-once processing with idempotent consumers and outbox pattern.
#40 Dead Letter Detective
HardSDE 3AmazonUberDesign dead letter queues, retry policies, and poison message handling.
Act 5
#41 Gateway Architect
ExpertStaff+AmazonNetflixDesign an API Gateway with routing, auth, rate limiting, and protocol translation.
#42 BFF Workshop
ExpertStaff+NetflixDesign Backend-for-Frontend APIs optimized for web, mobile, and TV clients.
#43 Throttle Engine
HardSDE 3StripeAmazonDesign a multi-tier rate limiting system with token bucket, sliding window, and quota management.
#44 API Marketplace
ExpertStaff+StripeDesign a developer portal with API key management, OAuth flows, and usage analytics.
#45 Circuit Breaker API
HardSDE 3NetflixAmazonUberDesign APIs with circuit breaker patterns, fallbacks, and bulkhead isolation.
#46 API Mesh Composer
ExpertStaff+GoogleNetflixUberDesign a service mesh with sidecar proxies, mTLS, observability, and traffic management.
#47 Design a Payment API
ExpertStaff+StripePayPalFull system design: Payment processing API like Stripe with idempotency, webhooks, and PCI compliance.
#48 Design a Chat API
ExpertStaff+MetaFull system design: Real-time chat API with WebSocket, presence, read receipts, and message history.
#49 Design a Food Delivery API
ExpertStaff+UberDoorDashFull system design: Food delivery platform with location tracking, real-time ETAs, and multi-party coordination.
#50 The Grand Unified API
LegendaryStaff+GoogleMetaLinkedInThe ultimate challenge: design a complete multi-protocol API platform combining REST, GraphQL, gRPC, and events.