Phases & Modules

This repository holds three parallel tracks, all sharing the same module shape:

TrackPrefixModulesWhat it builds
Frontend Principal Engineeringfe-NN51 planned, 6 builtArchitectural and organisational judgment, measured
Browser Internalsbi-NN17Chromium, Blink and V8 — from source to pixels
Framework Internalsfw-NN12Build a React, a signals runtime, a bundler, a router, a query cache

They are siblings, not stages. The frontend track develops judgment; the internals tracks remove abstraction boundaries. Cross between them when a topic genuinely stalls without the other — the hooks are enumerated in the Curriculum Map §2.

The phase structure below applies to the frontend track. The bi- and fw- tracks are ordered but not phased; see their own roadmap modules (bi-00, fw-01).


Seven phases, 51 modules, plus a continuous AI-assisted-engineering spine. The ordering is derived from real dependencies, not topic popularity — see the Curriculum Map for the dependency graph and the five load-bearing chains.

Legend: ✅ built & measured · 🟡 scaffolded · ⬜ planned


Phase 1 — Platform Substrate · Foundation → Senior

Before any abstraction, know what the abstraction is hiding.

ModuleTitleStatusHeadline measured result
fe-01Execution Model, Scheduling & the Rendering PipelineMicrotask chunking rendered 0 frames vs 49; naive worker worst of 7 strategies
fe-02Memory Model, Retention & LeaksAn unused sibling closure retained 38 MB vs 0.01 MB (5744×)
fe-03Object Shapes, Hidden Classes, ICs & JITOne forced layout = 1,448 de-megamorphised property reads
fe-04HTML as an Application PlatformNative <dialog> 7/7 behaviours in 222 bytes; custom 6/7 in 5.4×
fe-05CSS Architecture, Containment & Invalidationcontent-visibility cut initial layout 98%, identical DOM
fe-06Layout: Flex, Grid, Intrinsic Sizing, Container Queries1.4× across six layout modes; absolute positioning slowest
fe-07Networking: HTTP/1.1→3, Caching, ETags, CDN
fe-08TypeScript as a Contract System
Capstone 1 — FoundationProduction-quality accessible responsive application

Gate 1 → 2: predict execution order and rendering timing of unfamiliar async code unaided · find a leak from a heap-snapshot diff · read a waterfall and name the bottleneck class.


Phase 2 — Framework Mechanics · Senior

A framework is a scheduling and diffing policy with ergonomics attached.

ModuleTitleStatus
fe-09Component model, reconciliation, Fiber, render vs commit
fe-10Hooks mechanics, stale closures, the useEffect pathology
fe-11Memoization economics
fe-12Concurrent rendering, transitions, Suspense as scheduling
fe-13Reactivity models compared (Vue / Svelte / Solid / Web Components)
fe-14UI algorithms: diff, LRU, tries, intervals, virtualization

Phase 3 — Architecture & Data · Senior → Staff

A frontend is a distributed system with a rendering engine attached.

ModuleTitleStatus
fe-15State taxonomy: local / lifted / URL / server / global / derived
fe-16Server state ≠ client state; query caches & invalidation
fe-17Races, cancellation, idempotency, optimistic update + rollback
fe-18API integration as a distributed-systems problem
fe-19Application architecture — and its overengineering critique
fe-20Designing for the unhappy path
fe-21Rendering architectures: CSR / SSR / SSG / ISR / streaming / islands / RSC
Capstone 2 — Intermediate

Phase 4 — Quality Attributes · Staff

These are properties of the architecture, and they are measurable.

ModuleTitleStatus
fe-22Performance engineering & budgets
fe-23Loading architecture: splitting, tree shaking, preload, Early Hints
fe-24Accessibility as engineering
fe-25Frontend security
fe-26Internationalisation
fe-27Mobile web & PWA
fe-28Workers & parallelism
fe-29WebAssembly
fe-30Large-scale UI performance
Capstone 3 — Senior

Phase 5 — Quality Engineering · Staff

Thousands of tests can still produce low confidence.

ModuleTitleStatus
fe-31Test strategy economics
fe-32UI testing
fe-33E2E & flaky-test prevention
fe-34Integration & contract testing
fe-35Visual regression
fe-36AI-assisted QA
fe-37Principal quality engineering

Phase 6 — Platform & Delivery · Staff → Principal

You stop building applications and start building the conditions under which others build them.

ModuleTitleStatus
fe-38Design systems
fe-39Build tooling
fe-40Monorepos
fe-41Microfrontends — taught critically
fe-42Frontend platform engineering
fe-43Observability
fe-44Reliability
fe-45CI/CD & release engineering
Capstone 4 — Staff

Phase 7 — Principal Judgment · Principal → Distinguished

The work is now decisions, influence, and being right about reversibility.

ModuleTitleStatus
fe-46Architecture Decision Records
fe-47Technical decision-making: one-way vs two-way doors
fe-48Technical debt
fe-49Migrations
fe-50Principal skills, strategy, technology radar
fe-51Failure case-study gauntlet — all 12 incidents, cold
Capstone 5 — Principal
Capstone 6 — Distinguished / SME

The spine — AI-assisted engineering

Specification areas §20–24 are not a phase. They run continuously from Phase 1, because deferring them means practising the workflows only after your judgement is good enough not to need practice. The governing rule: an agent may produce anything whose failure modes you can enumerate yourself.


Sibling tracks

Browser Internals (bi-00bi-16) — Chromium architecture, the HTML parser, DOM internals, the V8 binding layer, the CSS engine, layout, paint, the compositor, scheduling, tracing, Web Platform Tests, and the contribution workflow. Start at bi-00.

Framework Internals (fw-01fw-12) — build a Redux, a React core, a signals runtime, a concurrent scheduler, a Vue renderer, a template compiler, a bundler, a router, a query cache and a virtualised list, then read the production sources. Start at fw-01.

Both live in the sibling project ../browser-framework-internals/, which builds as its own book and deploys separately.