11 parts · 29 chapters

DevTools, With a Companion App

DevTools is the browser showing you its own pipeline. Every panel is a window onto a stage the Browser course drew: Elements onto the DOM and the cascade, Performance onto the event loop and the frame, Memory onto the heap, Network onto the socket. Reading a panel well is reading the mechanism behind it, and the habit this course installs is to look at the panel before guessing at the cause.

Each part explains one panel, what each column and track actually measures, and the mistakes people make reading it. Then it sends you into the companion lab app, where a route triggers one specific pathology: a detached list, a layout thrash, a non-passive scroll, an IndexedDB await trap, a CORS failure, a bfcache blocker. You record it, read it, and fix it with the provided toggles. The last part runs five full diagnoses end to end.

panels · pathologies · the habit of lookingsenior → staff · anyone who debugs in a browser
the lab appOne React app, a route per pathology, with the panel to open and what to look for on every page.
Elements and StylesComputed versus cascade, the box model, layout overlays, forced states, DOM breakpoints, the accessibility pane.
Console and SourcesLogging levels, live expressions, utilities; breakpoints of every kind, stepping, blackboxing, source maps, workspaces.
NetworkReading a waterfall, the timing breakdown, priorities, throttling, cache behaviour, HAR files.
PerformanceRecording, the flame chart, long tasks, layout and paint events, the Interactions track, frames, bottom-up.
MemoryHeap snapshots, allocation timelines, detached nodes, retainers, and finding a leak for real.
Application, Rendering, LayersStorage inspection, service workers, bfcache tests; paint flashing, layout shift regions, layer borders; coverage.
diagnosisSlow load, janky scroll, memory growth, broken cache, hydration mismatch: walked end to end.
The companion appThe lab lives at lab/dist/; routes marked with a dot need node server.mjs for real HTTP behaviour. Each chapter names its route; each route names its panel.