Frontend Principal Journey

This repository is also a book. Build it with bash build.sh (or mdbook serve for live reload) and read it at http://localhost:3000. Start with the Introduction, the Phases & Modules index, and Toolchain Setup.

Modules fe-01fe-06 are built and measured: 22 experiments drive a real browser over CDP, and every table in the book is regenerated by npm run all inside that module's src/. See PHASES.md for status.

A lab-based curriculum for becoming the frontend subject-matter expert for a large engineering organisation. Driven by frontend-principal-engineering.md, the specification.

Sibling project: ../browser-framework-internals/ goes below the framework — Chromium and Blink internals, the rendering pipeline, and React/Vue/Redux -class runtimes rebuilt from scratch. Each project builds and deploys as its own book.


What it covers

Web foundations · JavaScript and TypeScript · HTML and CSS · React and framework architecture · state management · API integration · networking · frontend performance · accessibility · frontend security · testing and QA · E2E testing · edge-case engineering · AI-assisted engineering · design systems · frontend platform engineering · build tooling · monorepos · microfrontends · rendering architectures · observability · reliability · CI/CD · release engineering · internationalisation · mobile web · Web Workers · WebAssembly · migrations · ADRs · technical decision-making.

Full plan and status: PHASES.md.


Module layout

fe-01-execution-model-scheduling/
├── CONCEPTS.md            the explanation
├── references.md          primary sources first
├── docs/
│   ├── analysis.md        invariants and failure modes
│   ├── execution.md       the lab
│   ├── observation.md     predictions above the line, results below
│   ├── measured-results.md   what the experiments actually produced
│   ├── verification.md    checkpoints against measured output
│   └── broader-ideas.md   where this recurs in other systems
├── steps/                 ordered tasks with explicit "Done when" gates
└── src/                   runnable experiments (CDP-driven)

A module is complete when its verification.md checkpoints pass against measured output, not when its prose has been read.


Building the book

bash build.sh                            # writes ./book and ./dist/book
mdbook serve                             # live reload on :3000
python3 ../tools/gen-summary.py frontend # regenerate SUMMARY.md after adding pages

SUMMARY.md is generated rather than hand-maintained, so a new page can never be silently dropped from the book.


Using this with coding agents

Application/platform work: work from frontend-principal-engineering.md; continue the next fe- module; measure claims in a real browser before designing around them.

When browser behaviour materially affects a topic: cross to the sibling project rather than speculating. Cross-track sequencing is recorded in fe-00-roadmap/docs/curriculum-map.md §2 — and it runs both ways: this track's execution-model module precedes the internals track's Blink scheduling, while the internals track's mini-React precedes any reading about Fiber.