Topic · 20 lessons in 13 series
Performance
Why things are slow and how to make them fast: latency and percentiles, Core Web Vitals, bundles, rendering, event-loop blocking and cost, with lessons from both the front end and the back end.
System DesignWhole series →
The Browser ContractWhole series →
- HTTP Caching: Cache-Control, ETags and the CDN in BetweenFresh or must-check, no-cache vs no-store, immutable for hashed files, stale-while-revalidate, and what a shared cache must never store.20 min
- Browser Rendering and the Event Loop in PracticeParse, style, layout, paint and composite. Also layout thrashing, and where tasks, microtasks and requestAnimationFrame fit.18 min
- Core Web Vitals for Engineers: LCP, INP and CLSWhat each metric measures, its “good” limit at the 75th percentile, why INP replaced FID, and the difference between field data and lab data.18 min
Backend in DepthWhole series →
- Prisma in Production: N+1, include, Batching and Connection PoolsHow N+1 appears in loops and GraphQL resolvers, how Prisma batches findUnique, how it loads relations, and why you share a single client.18 min
- Node.js Performance Basics: Event Loop Blocking, Streams, WorkersWhy one heavy CPU job can stop every request, plus streams for large data and worker threads.15 min
Scenario DebuggingWhole series →
- The Debugging Method: Measure, Isolate, Hypothesize, VerifyThe method every answer in this series uses: which DevTools panel or server number answers which question, and how to explain your choices out loud.12 min
- “The UI Is Fast but the API Takes Too Long”: How to Solve ItFollow the request: DNS and TLS, cold starts, N+1 queries, missing indexes, slow calls to other services, big payloads and missing caches. Then the UX fixes while the backend is repaired.20 min
- Unnecessary Re-renders: Finding and Fixing ThemThe React Profiler, context updates that re-render every consumer, props that change each time, using memo on purpose and not everywhere, and what the React Compiler changes.18 min
- Slow First Load: Bundles, Code Splitting and LCPBundle analysis, code splitting by route, image optimisation, font loading, preload and preconnect, and Server Components with streaming.18 min
- Rendering 10,000 Rows: Virtualization, Pagination and Web WorkersWindowing, content-visibility, rendering in small chunks, and moving sort and filter work off the main thread.15 min