25
Performance and debugging

Performance and debugging

Eight lessons on reading code that's already running. Devtools panels, breakpoints, source maps, the three jank-fixers, measuring with the Performance API, memory leaks, and flamegraphs.

~ 113 min·8 lessons·updated apr 2026

What you'll learn


Lessons

Read in order. Each lesson stands on its own, but the order is deliberate.

8 lessons · ~113 min total

  1. 01
    The devtools tour
    Elements, Console, Sources, Network, Performance, Memory, Application — what each panel is actually for.
    14 min
  2. 02
    Breakpoints and stepping
    Line, conditional, logpoint, DOM, XHR, event-listener — and step in, over, out without losing your place.
    15 min
  3. 03
    Console beyond log
    table, group, time, trace, dir, assert, and %c styling — the methods that turn console.log into a real tool.
    11 min
  4. 04
    Source maps
    What source maps are, how to verify yours work, and the moments they quietly lie about line numbers.
    11 min
  5. 05
    Debounce, throttle, and requestAnimationFrame
    Three patterns that fix most jank in frontend code, and how to pick the right one.
    16 min
  6. 06
    Measuring performance
    performance.now, mark and measure, PerformanceObserver, and reading Web Vitals from your own JavaScript.
    16 min
  7. 07
    Memory and leaks
    What causes leaks, how to read a heap snapshot, and the detached-DOM trap that catches every frontend.
    16 min
  8. 08
    Profiling
    The Performance panel, flamegraphs, and tracing through a recording to find the slow path.
    14 min

Prerequisites

  • · Comfortable writing JavaScript and reading the DOM
  • · Built at least one interactive page in a browser

After this, try

  • Web Vitals in production
  • Bundle and asset performance