System Design
Frontend system design — the half of system design interviews almost nobody teaches well. Rendering strategy trade-offs, state management at scale, performance engineering, micro-frontends, design systems, and full worked interview scenarios, taught as a reasoning process rather than a list of memorized answers.
Start with CSR, SSR and SSG: The Real Trade-offsPart 1 · Rendering Strategies
5 lessons · 57 minCSR vs. SSR vs. SSG vs. ISR vs. streaming SSR, the real trade-offs behind each, why hydration is expensive, resumability and islands as an alternative model, and how to actually choose.
- CSR, SSR and SSG: The Real Trade-offs12 minClient-side, server-side and static rendering compared honestly: what each actually costs in TTFB, TTI, SEO and infrastructure, and why there is no universal winner.
- Incremental Static Regeneration10 minISR as static generation's answer to its own weakness — stale-while-revalidate at the page level, and the trade-offs of trusting a background rebuild.
- Streaming SSR and Suspense11 minWhy waiting for the slowest data on a page before sending any HTML is wasteful, and how streaming SSR with Suspense sends the fast parts first.
- Hydration and Why It's Expensive11 minWhat hydration actually does after server-rendered HTML arrives, why it re-does real work the browser already painted, and how partial hydration reduces the cost.
- Resumability, Islands, and Choosing a Rendering Strategy13 minIslands architecture and resumability as alternatives to full-page hydration, and a practical framework for picking a rendering strategy per route.
Part 2 · State Management at Scale
5 lessons · 56 minLocal vs. lifted vs. global state, normalizing state shape, why server state and client state are different problems, optimistic updates, and state machines for complex flows.
- Local, Lifted, and Global State10 minWhy state should default to the smallest scope that works, what lifting state actually costs, and why 'put everything in global state' fails as an app grows.
- Normalizing State Shape11 minWhy nested, duplicated state causes real bugs at scale, and how normalizing into flat, ID-keyed structures — the client-side relational model — fixes it.
- Server State vs. Client State12 minWhy data that lives on a server is a fundamentally different problem from UI state — caching, staleness and revalidation — and why treating them the same causes bugs.
- Optimistic Updates and Rollback11 minUpdating the UI before the server confirms a mutation to hide network latency, and the rollback and conflict-handling design it obligates you to build.
- State Machines for Complex UI12 minWhy a handful of booleans falls apart for multi-step flows, and how modeling explicit states and transitions rules out impossible combinations by construction.
Part 3 · Performance at Scale
5 lessons · 55 minThe critical rendering path, code-splitting and bundle budgets, virtualization, memoization strategy and its real cost, and Core Web Vitals as the actual scoring rubric.
- The Critical Rendering Path11 minWhat the browser must finish before the first pixel appears, why render-blocking resources exist, and the concrete techniques that shorten that path.
- Code-Splitting and Bundle Budgets11 minWhy one giant bundle is the wrong default, how route- and component-level splitting trade upfront load for later waterfalls, and setting a real budget.
- Virtualization for Large Lists10 minWhy rendering ten thousand DOM nodes for a ten-thousand-row list is the wrong default, and how windowing renders only what's actually visible.
- Memoization Strategy and Its Costs11 minReact.memo, useMemo and useCallback actually explained as a trade of comparison cost for render cost — and why memoizing everything can make an app slower.
- Core Web Vitals, Images, and Fonts12 minLCP, INP and CLS as the actual scoring rubric behind 'is this page fast,' and the concrete image and font loading strategies that move each metric.
Part 4 · Micro-Frontends & Architecture at Scale
3 lessons · 35 minWhy and when to split a frontend into independently deployable pieces, module federation and composition models, and the well-organized monolith as the alternative that's often the right call.
- Why and When to Split a Frontend12 minWhat actually justifies splitting a frontend into independently deployable micro-frontends, the real costs it introduces, and when a monolith is the right call instead.
- Module Federation and Composition Models12 minHow independently-built micro-frontends actually get combined into one page — module federation conceptually, and the build-time versus run-time composition trade-off.
- The Well-Organized Monolith as the Alternative11 minWhat actually makes a large frontend monolith painful, and how enforced module boundaries, ownership and fast CI deliver most of micro-frontends' benefit without the cost.
Part 5 · Design Systems & Component Architecture
4 lessons · 42 minBuilding a component library that scales across teams, API design for shared components, versioning and breaking changes, and theming with design tokens.
- Building a Component Library That Scales11 minWhy a shared component library is an internal product with real users, and the structural decisions — layering, ownership, documentation — that let it grow without collapsing.
- API Design for Shared Components11 minDesigning a shared component's props like a public API — composition over configuration, controlled vs. uncontrolled state, and the specific cost of a boolean-flag explosion.
- Versioning and Breaking Changes10 minHow a shared component library ships breaking changes without breaking every consumer at once — semantic versioning, deprecation windows, and codemods.
- Theming and Design Tokens10 minDesign tokens as the layer that separates a design decision from where it's used, and how that separation is what makes theming, dark mode and rebrands tractable.
Part 6 · Real Interview Scenarios
4 lessons · 52 minA repeatable framework for a design-X prompt, then three full worked scenarios — a social feed, an image-heavy PLP, and a real-time collaborative editor.
- How to Approach a Frontend System Design Interview11 minA repeatable framework for an open-ended 'design X' prompt — clarifying requirements, naming trade-offs explicitly, and why saying 'it depends' correctly is a strength.
- Worked Scenario: Design a Social Media Feed14 minA full worked answer to a classic interview prompt — rendering strategy, an infinite-scroll data model, virtualization, and optimistic interactions, with the trade-offs named.
- Worked Scenario: Design an Image-Heavy E-Commerce PLP13 minA full worked answer for a product listing page: rendering strategy for SEO and freshness, image loading strategy against Core Web Vitals, and filter-driven state.
- Worked Scenario: Design a Real-Time Collaborative Editor's Frontend14 minA full worked answer for a Google-Docs-style editor's frontend: the local-first optimistic model, conflict handling conceptually, and why this is a CSR problem.
Prove it: Frontend System Design Certification
This course teaches the whole exam syllabus, free. The exam itself is 140 minutes under a clock, 55 questions, ₹199$9.99 — and a certificate with a link anyone can check if you pass.
See the exam