Course
System design, backend and frontend
Learn how real systems are built, from first principles to trade-offs. Two tracks, each with its own modules and lessons, one concept per page: the back end (servers, data, distributed systems) and the front end (browser, rendering, state, performance). They meet at the network, and the paired lessons show the same request from both sides.
Choose a track
23 modules · 70 of 210 lessons published
Backend System Design
Servers, data and distributed systems: SQL and indexing, caching, queues, consistency, scaling, resilience and security, built around Java and one running reference application.
Open the backend track
24 modules · 18 of 220 lessons published
Frontend System Design
The browser, rendering, state, data fetching, performance, security and real-time: how a page is built and delivered, and how to design the client side of a product.
Open the frontend track
How the two tracks connect
Each topic has one home lesson in the track that owns it best, and a short paired lesson in the other. Start from either side.
| Topic | Backend view | Frontend view |
|---|---|---|
| Microservices and micro-frontends | B13 Architecture styles | F12 Micro-frontends (coming soon) |
| API design and API integration | B04 API design | F08 API integration and data architecture (coming soon) |
| Authentication and authorization | B15 Security | F11 Frontend security (coming soon) |
| Caching across the layers | B10 Caching | F10 Performance engineering |
| Real-time communication | B11 Messaging and event streaming | F16 Real-time architecture (coming soon) |
| Observability and correlation IDs | B16 Observability and operations | F17 Reliability and observability (coming soon) |
| Resilience, retries and backoff | B14 Resilience engineering | F17 Reliability and observability (coming soon) |
| Consistency and optimistic UI | B07 Distributed systems theory | F07 State management (coming soon) |
| Deployment and release strategies | B17 Deployment and platform (coming soon) | F18 Build tools and deployment (coming soon) |
Learning paths
Pick a goal and follow its modules in order. Modules that are still being written are marked.
Backend foundations
Requirements, estimation, networking and API design.
Databases and SQL
Relational design, indexing, transactions, and when to choose NoSQL.
Distributed systems
Consistency, consensus, replication and distributed data patterns.
Scalability
Replication, sharding, load balancing and caching.
Microservices and messaging
Queues, event streaming, sagas and architecture styles.
Resilience and security
Failure handling, authentication, authorization and observability.
Frontend foundations
The browser, the web platform and how front-end code is organised.
- F01 Introduction to frontend system design
- F02 Web fundamentals and networking
- F03 HTML, CSS and JavaScript architecture (coming soon)
- F04 Browser architecture
React and rendering
React internals, application architecture, state and rendering strategies.
- F05 React fundamentals and internals (coming soon)
- F06 Frontend application architecture (coming soon)
- F07 State management (coming soon)
- F09 Rendering architecture
Frontend performance
Core Web Vitals, loading, caching and data fetching.
- F10 Performance engineering
- F08 API integration and data architecture (coming soon)
Micro-frontends and enterprise
Module Federation, enterprise architecture and advanced patterns.
- F12 Micro-frontends (coming soon)
- F21 Enterprise frontend architecture (coming soon)
- F22 Advanced architectural patterns (coming soon)
AI frontends
Designing streaming, AI-powered interfaces.
- F20 AI-powered frontends (coming soon)
Full-stack architect
The back end and the front end together, from requirements to capstones.
- B01 Foundations and requirements
- F01 Introduction to frontend system design
- B04 API design
- F08 API integration and data architecture (coming soon)
- B15 Security
- F11 Frontend security (coming soon)
- B13 Architecture styles
- F12 Micro-frontends (coming soon)
- B22 Architect interview and capstone (coming soon)
- F24 Architect interview and capstone (coming soon)
System design interview fast track
The method, the case studies and the interview practice for both tracks.
- B01 Foundations and requirements
- B21 Backend case studies
- B22 Architect interview and capstone (coming soon)
- F23 Case studies (coming soon)
- F24 Architect interview and capstone (coming soon)