ESC

Type to search the knowledge base.

Frontend Performance Path

Staged path to FE performance mastery — measure Core Web Vitals, fix loading and runtime, and institutionalize budgets.

intermediate3 min read
  • roadmaps
  • frontend-performance

Performance skill is a loop: measure → fix → prevent. This path builds that loop, not a bag of random tips.

Interview map: Performance talking points. Browser base: Browser interview questions.

Stage 0 — Prerequisites

Stage 1 — Measurement mindset

Goals: Lab vs field; p75; metrics definitions.

Checkpoint: Report p75 LCP/INP/CLS for a real page (CrUX or your RUM).

Stage 2 — Loading path

Checkpoint: Improve LCP on a demo page by ≥30% with evidence.

Stage 3 — JavaScript cost

Checkpoint: Route-based split; measure bundle delta in CI locally.

Stage 4 — Runtime & interactivity

Checkpoint: Break a long task; show shorter interactions in Performance panel.

Stage 5 — Stability (CLS)

Checkpoint: Eliminate a layout shift you can reproduce.

Stage 6 — Framework performance (React)

Checkpoint: Profile a slow list; fix with virtualization or state colocation — not blind memo.

Stage 7 — Institutionalize

Checkpoint: Budget fails a PR intentionally once; team understands the signal.

Stage 8 — Interview & leadership

Suggested projects

  1. Optimize a content site LCP end-to-end
  2. Bundle analysis on a React app
  3. Virtualize a 10k-row table
  4. Add Lighthouse CI budgets

Case-study template (use for portfolio + interviews)

Context: page/app, device, user segment
Baseline: metric + percentile + date
Hypothesis: top cause from evidence
Change: what shipped
Result: new metric + confidence
Guardrail: budget / CI / RUM alert

Interviewers and staff promotions both respond to this shape. Vague “I improved performance” does not.

Cadence for a product team

Cadence Activity
Per PR Bundle/budget checks when relevant
Weekly Glance RUM for regressions
Monthly Pick one vitals villain; ship a fix
Quarterly Revisit third parties and architecture

Pair with Performance talking points before loops.

What to skip early

  • Micro-optimizing reducers before measuring
  • Rewrites for perf without RUM
  • Premature Workers for tiny work
  • Celebrating Lighthouse 100 with bad field data
  • Memoizing the entire tree “just in case”

Further reading

If you cannot show a metric moving, you didn’t finish the exercise.