Fonts Without Regret: Fast Loads, No CLS
How fonts hurt LCP/CLS, when to preload, how font-display works, and practical strategies to avoid layout shift with good typography.
Practice
Search by concept, narrow to a roadmap, or pick a tag to focus on the exact topic you want to rehearse.
103 articles · page 3 of 12
How fonts hurt LCP/CLS, when to preload, how font-display works, and practical strategies to avoid layout shift with good typography.
How to ship fast images: responsive sizes, AVIF/WebP, LCP hero strategy, lazy loading, and when preloading helps (or hurts).
A senior-level workflow to diagnose performance issues: find the bottleneck, verify the hypothesis, ship the fix, and prevent regressions.
A high-signal mental model for LCP, INP, and CLS: what they measure, what actually moves the needle, and how to debug them in real apps.
How large TypeScript codebases stay fast: project references, composite builds, incremental compilation, and clean boundaries.
How to keep TypeScript APIs stable: test your types, design exports intentionally, and avoid leaking internals that you can’t maintain.
How to type a polymorphic component like a design-system author: correct props, correct refs, and zero unsafe casts.
A production-friendly pattern to type form values, errors, and validators using mapped types—no giant unions, no any.
Two TypeScript options that catch real production bugs: safer indexing and optional properties that behave like you think.