~/talk

How to implement Critical CSS and how it will improve loading metrics

TalkinRussianat HolyJS 2025 Autumn · 2025-11-20..11-21· [web-performance, css]
links:none on file
slides:none on file

Describes implementing Critical CSS generation at runtime for VKontakte because many pages change dynamically (user settings, A/B tests, varied content) so build-time generation is impractical. Presents a custom algorithm they developed for fast runtime Critical CSS extraction, discusses implementation pitfalls, and gives practical advice for improving web loading metrics when writing complex algorithms.

AI-written summary · about

  1. 0:00Introduction
  2. 1:47What is Critical CSS
  3. 3:36Standard vs async CSS
  4. 5:43Critical CSS in dynamic projects
  5. 6:46Simple Critical CSS algorithm
  6. 9:41First algorithm results
  7. 10:23Algorithm flaws and next steps
  8. 10:44Improved algorithm structure
  9. 12:31Improved algorithm breakdown
  10. 15:39CSS rules and media queries
  11. 17:06CSS selector tree labels
  12. 17:28KPHP issues and fixes
  13. 19:58Data flattening optimization
  14. 21:25Parsing and label computation
  15. 24:41Invalid markup fixes
  16. 25:46Final algorithm results
  17. 26:53Loading metrics improvement
  18. 27:13Optimization tips
  19. 29:43Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.