Web Performance
Measure first, then fix the thing that is actually slow.
18 topics
Core Web Vitals
LCP, INP and CLS — what each actually measures, the thresholds, and why the field number never matches your laptop.
core25 minLab vs Field Measurement
Why your synthetic score and your real-user data disagree, and which one to trust for which decision.
core20 minProfiling with DevTools
Reading a performance trace — main thread, long tasks, layout and paint — and finding the cause rather than guessing.
core25 minLoading Strategy
Deciding what loads first, what loads later, and what never loads at all — the ordering problem behind every fast page.
core25 minJavaScript Bundle Budgets
Why shipped JavaScript is the most expensive resource on the page, and how to set a limit that actually holds.
core20 minHydration Cost & Islands
Why server-rendered HTML can still be slow to become interactive, and the architectures that reduce or remove the second pass.
core25 minINP & Long Tasks
Why interactions feel slow, how the main thread blocks a response, and the techniques that break work into frames.
core25 minRendering Performance
Holding 60fps — the frame budget, what runs inside it, and which work you can move off the critical path.
core20 minImage & Media Optimisation
Serving the smallest acceptable bytes for the actual display size, and the pipeline decisions behind it.
core20 minFont Loading Strategy
Avoiding invisible text and the layout shift that follows, with subsetting, self-hosting and a matched fallback.
core20 minNetwork & Delivery
Compression, connection setup, and edge delivery — the wins that live between your build output and the user's device.
core20 minAsset Caching Strategy
Content hashing, immutable headers, and a chunking layout that survives a deploy without invalidating everything.
core20 minMemory in Long-Lived Sessions
Why a dashboard left open overnight gets slow, the four leaks that cause it, and how to prove one exists.
deep20 minPerceived Performance
Making an app feel fast without making it faster — feedback, optimism, skeletons and the psychology of waiting.
core20 minPerformance Budgets in CI
Turning performance from a periodic cleanup into a build constraint that fails a pull request.
core20 minDiagnosing a Slow Page
A repeatable order of investigation for "it feels slow", from measurement to the specific line of code.
core25 minCache Invalidation
Deciding when cached data stops being allowed to answer, which is the half of caching that actually goes wrong.
core25 minsharedCaching Strategies
The read/write patterns behind every cache, and the consistency you trade away for each.
core25 minshared