Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand that they be respected. Hide

Frontend Dogma

“performance” News Archive

Definition, related topics, and tag feed

Definition · Supertopics: user-experience · Subtopics: bundling, caching, code-splitting, compression, content-delivery, critical-path, flushing, hints, lazy-loading, load-balancing, memoization, minification, performance-budgets, preloading, purgecss, rate-limiting, speculation, sprites, web-packaging, web-vitals, webpagetest (non-exhaustive) · “performance” RSS feed (per email)

Entry (Sources) and Additional TopicsDate#
Low- and Mid-Tier Mobile for the Real World (2026) (css)1196
mobile, testing
When It Makes Sense to “Block” the Main Thread (sma)1195
javascript
CSS Dedup (j9t)1194
packages, css, maintainability, optimization
Performance of WebAssembly Runtimes in 2026 (jed)1193
webassembly, runtimes, metrics, comparisons
TypeScript Performance in TanStack Table V9 (kev/tan)1192
tanstack, typescript
Image Optimization for Core Web Vitals in 2026: What Actually Moves the Needle1191
images, optimization, web-vitals, avif, webp, jpeg-xl, png
The Website Specification (joo)1190
websites, documentation, fundamentals, seo, accessibility, security, ai-agents, privacy, resilience, internationalization
4 Tiny Mistakes That Secretly Destroy App Performance1189
web-apps, mistakes, cors, code-splitting, dependencies, backgrounds, images
CSS Math “random()” in Production: Native Randomness Without JavaScript1188
css, math, functions, randomness, javascript, accessibility
How’s Linear So Fast? A Technical Breakdown1187
tech-stacks, case-studies
Container Timing Origin Trial (tun+)1186
chrome, google, browsers, apis, origin-trials
The Design-Minded Engineer (den)1185
career, design, accessibility, ai
Making Our Frontend Unit Tests Much Faster With @swc/jest1184
testing, jest, swc
How We Made the Angular Compiler Faster Using AI (mdo/voi)1183
angular, compiling, optimization, ai
How to Use Lazy Loading Without Hurting Web Performance (jac/deb)1182
how-tos, lazy-loading
How to Use Standard HTML Video and Audio Lazy-Loading on the Web Today (sco)1181
how-tos, html, multimedia, lazy-loading
The Uphill Climb of Making Diff Lines Performant1180
github, optimization, case-studies
What Is CSS Containment and How Can I Use It? (css)1179
css, containment
React SSR Framework Showdown: TanStack Start, React Router, and Next.js Under Load (mco/pla)1178
frameworks, server-side-rendering, react, tanstack, react-router, nextjs, comparisons, metrics
Monitor and Improve Your Web App’s Load Performance (pat+)1177
web-apps, monitoring, edge, microsoft, browsers
The 49 MB Web Page1176
user-experience, embed-code
Eleventy: How to Work Around the “Git Last Modified” Performance Bottleneck (j9t)1175
how-tos, eleventy, git
SVGs on the Web: Performance Comparison Based on How You Load Them (nuc)1174
svg, images, comparisons
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)1173
compression, javascript
Loading Smarter: SVG vs. Raster Loaders in Modern Web Design (hol/css)1172
images, svg, progress-indicators
Standard HTML Video and Audio Lazy-Loading Is Coming (sco)1171
html, multimedia, lazy-loading, standards
Wasm vs. JavaScript: Who Wins at a Million Rows?1170
webassembly, javascript, comparisons
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)1169
user-experience, concepts
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters1168
nodejs, file-handling, metrics
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)1167
javascript, frameworks, prioritization
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)1166
html, tables, scrolling, react
Container Timing: Measuring Web Components Performance (jda/iga)1165
web-components, chromium
Fast by Default (den)1164
architecture, tooling, code-reviews, processes
The Browser Hates Surprises (fro)1163
browsers
Measuring SVG Rendering Time (sto)1162
svg, png, images, rendering, web-vitals, metrics
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)1161
jpeg-xl, images, quality, metrics
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)1160
multimedia
A Broken Heart (api)1159
fonts, emoji
How Rolldown Works: High-Performance Code Splitting With Bitset Logic (atr)1158
rolldown, bundling, code-splitting
How Web Performance Impacts User Experience (mat/deb)1157
user-experience, web-vitals, metrics
SPAs Are a Performance Dead End (yeg)1156
single-page-apps, html
Why Light-Weight Websites May One Day Save Your Life (mah)1155
accessibility, print, frameworks
How to Diagnose Lighthouse Score Discrepancies Between Tools (mat/deb)1154
how-tos, lighthouse, google, tooling
Inside Turbopack: Building Faster by Building Less (she+)1153
turbopack
Node.js 16 to 25 Performance Benchmarks1152
nodejs, metrics, comparisons
CMS (htt)1151
web-almanac, studies, research, metrics, content-management, tooling, wordpress, user-experience, web-vitals, lighthouse, apis
Ecommerce (htt)1150
web-almanac, studies, research, metrics, ecommerce, tooling, web-vitals, lighthouse
Page Weight (bar+/htt)1149
web-almanac, studies, research, metrics, web-vitals, lighthouse, google
CDN (htt)1148
web-almanac, studies, research, metrics, content-delivery, http, http-headers, compression, tls, hints
Performance (25p+/htt)1147
web-almanac, studies, research, metrics, web-vitals, hints, speculation
Fonts (htt)1146
web-almanac, studies, research, metrics, fonts, css
Mitigating Denial-of-Service Vulnerability From Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users (mco+/nod)1145
nodejs, security, vulnerabilities, react, nextjs, tooling, monitoring
Death to Scroll Fade (dbu)1144
scrolling, effects
Profiling With React Performance Tracks1143
videos, react, profiling
Exploring React Performance (en-)1142
videos, react
JavaScript’s “for…of” Loops Are Actually Fast1141
javascript, loops
From Theory to Tiny: Implementing Compression Dictionaries (rya/per)1140
compression, content-delivery
The Curious Case of the Shallow Session SPAs (sli/per)1139
single-page-apps, javascript, frameworks, metrics
Chrome DevTools Features I Use All the Time (and Why You Should Too) (kee/per)1138
dev-tools, chrome, google, browsers, accessibility, lighthouse, network, embed-code
Teaching Agents About Performance Insights (web/per)1137
ai, ai-agents
7 Steps of a Web Performance Journey (ser/per)1136
processes
Why Developers Are Ditching Frameworks for Vanilla JavaScript1135
frameworks, javascript, apis, micro-frontends, architecture
Third Parties and Single Points of Failure (pau/per)1134
embed-code, metrics
Tips for Making the Performance Panel Less Overwhelming (duf/per)1133
dev-tools, browsers, chrome, google, tips-and-tricks
Chrome DevTools for Debugging Web Performance (nuc/per)1132
debugging, dev-tools, chrome, google, browsers
Revisiting HTML Streaming for Modern Web Performance (per)1131
html, streaming
Chasing BFCache Navigations (per)1130
bfcache, caching
TTFB Doesn’t Mean What You Think It Means (pro/per)1129
concepts, http
Fixing the URL Params Performance Penalty (tun/per)1128
urls, caching, http-headers, examples
Fixing TypeScript Performance Problems: A Case Study (vig)1127
typescript, case-studies
Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays: A JavaScript Performance Rabbit Hole1126
javascript, arrays
Optimizing for 75% Is Fine—Optimizing for 90% Is Where It Gets Interesting (jor/per)1125
web-vitals, optimization
Insights From 100 Site Speed Reviews in 2025 (per)1124
retrospectives
Optimizing CLS for Infinite Scroll and Load More (ver/per)1123
web-vitals, scrolling, optimization
A Short History of Performance Engineering (per)1122
history
The Anatomy of LCP—a Deep Dive Into Sub-Parts (per)1121
deep-dives, web-vitals, tooling
The Old Ways Are the Best: 100 Lighthouse, 0 ms TBT, 32 ms Queries (per)1120
case-studies
Why We Should Stop Talking Performance Metrics to Business Leaders (san/per)1119
metrics, communication, business-relations
Throttle Individual Network Requests (dev)1118
chrome, google, browsers, dev-tools
A Tale of Two Animations—the Compositor in the Skies (per)1117
animations, css
How to Load CSS (Fast) (per)1116
how-tos, css, critical-path
Intro to Performance of React Server Components (ade/per)1115
introductions, react, components, server-side-rendering
Improving Cumulative Layout Shift in WordPress1114
wordpress, web-vitals, optimization, cheat-sheets
React 19.2: Further Advances INP Optimization (per)1113
react, web-vitals, optimization
The Inconvenient Truth: How Web Performance Case Studies Undermine Our Relationship With Business (mac/per)1112
metrics, economics
Making Complex Web Apps Faster (pat)1111
web-apps, apis, time, complexity
The Anatomy of a Web Performance Report (web/per)1110
documentation, web-vitals, lighthouse
Web Performance 2025: The Shift From Optimization to Prediction (fab/per)1109
optimization, retrospectives
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)1108
canvas, javascript, images
2025 in Review: What’s New in Web Performance? (mat/deb)1107
web-vitals, lighthouse, apis, speculation, chrome, google, firefox, browsers, dev-tools, tooling, testing, mcp, ai, retrospectives, outlooks
Fast by Default (den/per)1106
processes
Speculation Rules Improvements (tun/mat)1105
speculation, apis
Exploring Large HTML Documents on the Web (per)1104
html, metrics
Improve TTFB and UX With HTTP Streaming (mb2/per)1103
user-experience, http, streaming, optimization
How Fast Can Browsers Process Base64 Data? (lem)1102
encoding, base64, browsers, metrics, comparisons
CSS-in-JS: The Great Betrayal of Frontend Sanity1101
css-in-js, css, javascript, developer-experience
5 Reasons Why WCAG AA Compliance Does Not Mean Your Website Is Accessible (cra)1100
accessibility, wcag, compliance, colors, readability, content, multimedia, quality
Saumya Majumder on How Cloudflare Outages Impact the Web and WordPress Performance Solutions (nat)1099
podcasts, interviews, cloudflare, wordpress
93% Faster Next.js in (Your) Kubernetes (mco/pla)1098
nextjs, nodejs, kubernetes
The Performance Inequality Gap, 2026 (sli)1097
javascript, metrics
Unifying [Wikipedia’s] Mobile and Desktop Domains (kri/wik)1096
wikipedia, refactoring, mobile, desktop, seo, user-experience, infrastructure, case-studies, link-lists
Effectively Monitoring Web Performance (sma)1095
monitoring, tooling
10 Smart Performance Hacks for Faster Python Code (did/jet)1094
python, techniques
Rust vs. Python: Finding the Right Balance Between Speed and Simplicity (jet)1093
rust, python, simplicity, programming, comparisons
The Web Animation Performance Tier List (cit)1092
animations, javascript, css, apis
Some Software Bloat Is OK1091
quality, technical-debt
Real Performance Benchmarks of PHP 8.5 vs. PHP 8.3 and Node.js1090
php, nodejs, comparisons
I Built the Same App 10 Times: Evaluating Frameworks for Mobile Performance (che)1089
frameworks, mobile, comparisons, nextjs, tanstack, nuxt, angular, marko, solidjs, sveltekit, qwik, astro, htmx
Import JavaScript Like It’s 2026 (sto)1088
javascript
Inlining Critical CSS: Does It Make Your Website Faster? (mat/deb)1087
css, critical-path, lazy-loading
Weston Ruter on Unlocking WordPress Performance (wes+)1086
podcasts, interviews, wordpress, link-lists
My Conclusions After Using Signed Exchanges on My Website for 2 Years (paw)1085
signed-exchanges, security
Inside a 16.67 Millisecond Frame1084
javascript, rendering, reflow, painting
The History of Core Web Vitals (add)1083
web-vitals, user-experience, metrics, google, history
How to Optimize Viewport for Mobile for Faster Interactions (deb)1082
how-tos, viewport, mobile, optimization, html
Are Your Retail Landing Pages Killing Conversions? (tam/spe)1081
landing-pages, user-conversion, metrics
How to Minimize the Environmental Impact of Your Website (chu/sma)1080
how-tos, sustainability, optimization
Frontend JavaScript Performance Testing: A Comprehensive Guide (get)1079
guides, javascript, testing
How Fast Do Websites Load From Google Search? Comparing Various Prefetching and On-Demand Load Methods (paw)1078
google, web-vitals, signed-exchanges
15 Ways Your Website Loads From Google Search and How to Measure Each One (paw)1077
google, search, speculation, signed-exchanges, amp
Advanced PostgreSQL Indexing: Multi-Key Queries and Performance Optimization (ada/fro)1076
databases, postgresql, optimization
7 Top 2025 Web Design Trends1075
design, trends, simplicity, dark-mode, accessibility, ai, content
A Complete Guide to HTTP Caching (jon)1074
guides, http, caching
Should You Preload Fonts for Performance? (erw)1073
preloading, fonts
Partytown: Optimize Third Party Scripts With Web Workers (jac/deb)1072
libraries, embed-code, web-workers, optimization
Big O (sam)1071
algorithms, programming
You’re Loading Fonts Wrong (and It’s Crippling Your Performance) (jon)1070
fonts, css, image-replacement, flash-of-x, history
Is There an “AsyncLocalStorage” Penalty?1069
nodejs, asynchronicity
Speeding Up the JavaScript Ecosystem—SemVer (mar)1068
javascript, semver, versioning, dependencies
Mozilla Under Fire for Firefox AI “Bloat” That Blows Up CPU and Drains Battery (neo)1067
firefox, mozilla, browsers, ai
The Hidden Cost of Context (mco/pla)1066
nodejs, tracing, observability, opentelemetry
How We Made “JSON.stringify” More Than Twice as Fast1065
javascript, json, strings, v8, javascript-engines, optimization
Skeleton Screens Are Just Gray Lies We Tell Ourselves (web)1064
design, placeholders
Nobody Waits for Your Fancy Animations Anymore (and They Never Really Did) (web)1063
animations, parallax, effects, user-experience, design
Many Servers Don’t Properly Support HTTP Prioritization (mat/deb)1062
servers, http, support
Making Sense of the Performance Extensibility API (css)1061
profiling, apis
Instant Back/Forward Navigations in WordPress (wes)1060
wordpress, plugins, bfcache
10 Java Performance Secrets Every Senior Developer Knows1059
java, tips-and-tricks
Performant Vue Applications With Vapor (jac)1058
vuejs
Why Quick Cache Implementation Creates More Problems Than It Solves: The Hidden Tech Debt Crisis1057
caching, technical-debt, maintainability, architecture
Web Vital API (thi)1056
videos, web-vitals, apis
We Migrated Our Site to Eleventy and Increased Performance by 24%1055
migrating, nextjs, eleventy, comparisons
I’m More Proud of These 128 Kilobytes Than Anything I’ve Built Since1054
case-studies, flash-of-x, svg, minification, optimization
Parsing 1 Billion Rows in Bun/TypeScript Under 10 Seconds1053
bun, typescript, parsing
How to Communicate Performance to Clients as an Agency (a Practical Guide) (jor)1052
guides, business-relations, communication
Fear May Be the Mind-Killer, but Unindexed Database Queries Are the Database-Killer1051
databases
CLS Is the New Page Speed: Why Designers Need to Care More Than Developers (web)1050
web-vitals, design, user-experience
Serialization From Node.js1049
nodejs, comparisons, metrics, libraries
8 Reasons Your Next.js App Is Slow—and How to Fix Them (log)1048
how-tos, nextjs, react
JavaScript Broke the Web (and Called It Progress) (jon)1047
javascript, user-experience, tooling, tech-stacks, history
Performance and Stress Testing in Node.js (app)1046
nodejs, testing, tooling
7 Signs of a Bad User Experience and Best Practices to Avoid It1045
user-experience, best-practices, information-architecture, mobile-first, simplicity, accessibility, testing, consistency
Inclusive Development Practices in Next.js Projects (web/deq)1044
accessibility, nextjs, semantics, keyboard-navigation, aria, alt-text, localization, axe
Felix Arntz on How Speculative Loading Is Speeding Up Your WordPress Website (fel+)1043
podcasts, interviews, wordpress, speculation
Optimizing Time to First Byte (TTFB): 5 Key Strategies for Faster Load Times (ele/des)1042
guest-posts, optimization, content-delivery, http, caching, dns
Why WordPress Scalability Starts With Smart Site Structure From Day One1041
wordpress, scalability, hosting
How to Build Scalable Web Apps With React JS1040
how-tos, web-apps, scalability
Performance Debugging in DevTools (pau)1039
videos, debugging, dev-tools, browsers, chrome, google
6 Ways Slack, Notion, and VS Code Improved Electron App Performance1038
electron, case-studies, slack, vs-code
What Is Semantic Caching?1037
ai, semantics, caching, concepts
Binary Formats Are Better Than JSON in Browsers1036
json, libraries, comparisons, metrics
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages1035
javascript, rust, go, refactoring
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)1034
html, optimization
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)1033
nodejs, optimization, v8, javascript-engines, javascript, memory, garbage-collection
The Best CSS One-Liner to Improve Performance in 20251032
css
Advanced React in the Wild (add)1031
react, nextjs, case-studies
Why You Need to Know Your Site’s Performance Plateau (and How to Find It) (tam/spe)1030
metrics, concepts
14 Web Performance Tips for 2025 (sia)1029
web-vitals, culture, tips-and-tricks
5 Ways to Reduce HTML File Size on Your Website (deb)1028
html, minification, compression, optimization
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)1027
training, ai, programming, vibe-coding, security, scalability, quality, testing, documentation
How Does Chrome Prioritize Image Requests? (deb)1026
chrome, google, browsers, images
Is Vite Faster Than Turbopack?1025
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, comparisons
Downtime vs. Slowtime: Which Costs You More? (tam/spe)1024
economics, branding
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)1023
html, css, data-urls, compression, base64
How to Fix Largest Contentful Paint Issues With Subpart Analysis (mat/sma)1022
how-tos, web-vitals, metrics
JavaScript (htt)1021
web-almanac, studies, research, metrics, javascript, bundling, transpiling, web-workers, libraries, web-components
Other Causes of Signed Exchanges Errors (paw)1020
signed-exchanges, errors, debugging, cloudflare, google
Everything I Was Lied to About Node.js Came True With Elixir1019
nodejs, concurrency, memory
UX Analytics: How to Measure Your User Experience the Right Way (uxm)1018
how-tos, user-experience, metrics, accessibility, tooling
Leverage on Redux to Execute Your Tests 100× Times Faster1017
react, redux, testing, examples
Advanced Network Analysis With Chrome DevTools (jec)1016
videos, dev-tools, chrome, google, browsers, network, caching
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)1015
videos, css, typography, javascript, optimization
Turbocharging V8 With Mutable Heap Numbers1014
v8, javascript-engines, javascript, randomness
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)1013
javascript, rust, plugins
Top Benefits of Choosing Node.js for High-Performance Applications1012
nodejs, native
Demystifying MIME Types: Basics, Use Cases, Best Practices (mar)1011
guest-posts, mime-types, fundamentals, best-practices, servers, apache, nginx, email
Static vs. Dynamic Content: Which Should Developers Favor?1010
content, client-side-rendering, server-side-rendering, frameworks, comparisons
10 Common Web Development Mistakes to Avoid Right Now1009
mistakes, mobile, accessibility, seo, navigation, security, analytics, testing
Top 5 Uses of WebAssembly for Web Developers1008
webassembly, migrating, ecommerce, dev-tools
Does WebPerf Matter to Your SEO Ranking? (tod/per)1007
videos, seo, keywords
Time to First Byte: Beyond Server Response Time (mat/sma)1006
optimization, redirecting, content-delivery
How to Improve Webpage Speed: Tips and Best Practices1005
how-tos, optimization, tips-and-tricks, best-practices, redirecting, fonts, images, testing, tooling, webpagetest
Optimizing Images for Web Performance (tod/fro)1004
images, optimization, jpeg, png, webp, avif, html, caching
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly1003
javascript, compiling
Preload Fonts on Your Website for Better Core Web Vitals (deb)1002
preloading, fonts, hints, web-vitals
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)1001
css, javascript, view-transitions
Optimizing the Critical Rendering Path (mat/deb)1000
optimization, critical-path
Fast and Smooth Third-Party Web Fonts (sco)999
fonts, embed-code, css, javascript
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)998
javascript, web-workers
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)997
trends, metrics, javascript, images, desktop, mobile
React.js vs. Next.js (bhu)996
react, nextjs, comparisons
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)995
eleventy, brotli, compression, fingerprinting, caching, cloudflare
Initial Load Performance for React Developers: Investigative Deep Dive (ade)994
deep-dives, react, web-vitals, metrics
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)993
scrolling, apis, javascript, lazy-loading
Moving on From React, a Year Later (kel)992
migrating, react, stimulus
How Fingerprinting Can Improve Your Website’s Performance991
caching, fingerprinting, optimization
You Might Not Have a Web Performance Problem (mat/deb)990
web-vitals, lighthouse, google, seo, link-lists
Prefetching Subresources With Signed Exchanges (paw)989
caching, hints, signed-exchanges, optimization
CDN-First Is No Longer a Performance Feature (osv)988
content-delivery, caching, embed-code, privacy, security
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)987
javascript, hashing, comparisons, bun, nodejs
10 Backend Terms Every Frontend Developer Should Know986
terminology, concepts, architecture
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)985
browsers, chrome, google, safari, apple, comparisons
1-Billion Row Challenge With Node.js984
nodejs
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)983
browsers, caching, dependencies, network, content-delivery
Reckoning: Frontend’s Lost Decade (sli/per)982
videos, javascript, web-platform
JavaScript Frameworks—Heading Into 2025 (rya/thi)981
javascript, frameworks, complexity, maintainability
The Secret to Building Highly Responsive Systems980
videos, architecture, software-design, scalability
Refactoring a Web Performance Snippet for Security and Best Practice (the)979
javascript, metrics, refactoring
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)978
javascript, loops
Fabulous Font-Face Fallbacks (sto/per)977
css, fonts, typography
Designing Websites for Bad Performance (per)976
caching, web-workers, hints, optimization
Page Weight (dws+/htt)975
web-almanac, studies, research, metrics, storage, web-vitals
Using DevTools to Validate Web Performance Improvements (nuc/per)974
dev-tools, browsers, chrome, google
The Must-Have SEO Checklist for Developers for 2025973
seo, checklists, metadata, urls
Boost Website Speed With Prefetching and the Speculation Rules API (sch/mat)972
hints, speculation, apis
My Favorite Web Performance Graphs of the Year (fab/per)971
metrics, visualization
Don’t Let Your Redesign Ruin Performance: A Case Study (mac/per)970
redesigning, case-studies
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)969
preloading, fonts, html, hints
Correlation or Causation: How Web Performance Proves Its Value (per)968
testing, metrics
The Curious (Performance) Case of CSS “@import” (erw/per)967
css, history
Caching Optimizations966
json, caching, optimization
JavaScript Benchmarking Is a Mess965
javascript
Build Your Own Site Speed Testing Tool With Puppeteer (per)964
testing, puppeteer
Important Topics for Frontend Developers to Master in 2025963
learning, javascript, typescript, css, frameworks, git, apis, testing, security, ci-cd, websockets
Unattributed Navigation Overhead (UNO) (tim/per)962
metrics
Data-Driven SEO and Web Performance (tod/per)961
seo, web-vitals
Detecting Web Performance Regressions Using Statistical Tools (pet/per)960
regressions, tooling
Speculative Loading and the Speculation Rules API (qcn/per)959
speculation, apis
When Users Interact (blu/per)958
user-experience, metrics, link-lists
Creating Shared Ownership for Web Performance From a Cryptic CSS Values (per)957
web-vitals, monitoring, css
Towards Measuring INP on All Browsers and Devices (iva/per)956
web-vitals, browsers
Your JavaScript Bundle Is Too Fat955
javascript, bundling, dependencies, code-splitting, lazy-loading, tree-shaking, minification, optimization
State of Node.js Performance 2024 (raf/nod)954
nodejs, metrics
Simple Web Performance Mentoring (per)953
monitoring, web-vitals, tooling, webpagetest
Putting Performance in Relatable Terms (eth/per)952
communication
Your Website Is a Restaurant (boo/per)951
web-platform
The Evolution of Instant Web: What It Means for Performance Tooling (per)950
tooling, web-vitals
How Does the React Compiler Perform on Real Code (ade/per)949
react, compiling, rendering, memoization
What a Web Performance Engineer Needs to Know About Cloud Cost Savings (per)948
cloud-computing, economics, efficiency
A Layered Approach to Speculation Rules (css)947
speculation
Goodhart’s Law in Action: 3 Webperf Examples (nom/per)946
principles, lighthouse, web-vitals, metrics, google, examples
If Not React, Then What? (sli)945
frameworks, client-side-rendering, react, user-experience
8 PHP Performance Tips Every Developer Should Know944
php, tips-and-tricks, conditionals, caching
Preloading Responsive Images (tre)943
images, html, hints, preloading
Optimizing JavaScript Engine Performance (goo)942
videos, javascript-engines, optimization
Faster TypeScript Compilation (ash)941
videos, typescript, compiling
Designing (and Evolving) a New Web Performance Score (css)940
metrics
From Gatsby to Eleventy (mat)939
migrating, gatsby, eleventy, webc
How Browsers Really Load Web Pages (pro/wel)938
videos, browsers, rendering, parsing, http
How to Use Lighthouse Wisely in Your Front-End Projects (ele/des)937
guest-posts, how-tos, lighthouse, google, accessibility, seo, best-practices
Why Responsive Design Is Failing Modern Users (web)936
responsive-design, usability, accessibility
Addressing Users’ Painpoints: Best Practices for Identifying and Solving UX Design Problems (uxm)935
user-experience, design, legibility, responsive-design
Learn Big O Notation Once and for All934
algorithms, complexity
How to Optimize Performance in Vue Apps (jac/deb)933
how-tos, vuejs, optimization
Performance (htt)932
web-almanac, studies, research, metrics
Mastering Interaction to Next Paint (INP) (tod/fro)931
web-vitals
Why Optimizing Your Lighthouse Score Is Not Enough for a Fast Website (geo/sma)930
optimization, lighthouse, google, web-vitals
How to Optimize React Performance: Best Practices and Techniques929
how-tos, optimization, react, best-practices, techniques
Using Cache Control in Nuxt to Improve Performance (jac)928
nuxt, caching
The Evolution of Google Web Vitals: What to Expect Beyond Core Web Vitals927
web-vitals, google, history, outlooks
The Most Effective Ways to Improve Core Web Vitals926
optimization, web-vitals
The Image Compression Challenge (Donating Money for Excess-Free Projects) (j9t)925
images, compression, tooling
How to Speed Up Your Vue App With Server Side Rendering (jac/deb)924
how-tos, vuejs, server-side-rendering, incremental-static-regeneration
Visualize a Webpage’s Memory Usage During a Performance Recording (pat/dev)923
dev-tools, browsers, chrome, google, edge, microsoft, memory, profiling
How Is This Website So Fast!? (wes)922
videos, case-studies
Platform Strategy and Its Discontents (sli)921
web-platform, javascript, mobile, mobile-first, native, user-experience
The Greatness and Limitations of the “js-framework-benchmark” (nol)920
javascript, frameworks, tooling, metrics
How Effective UX Design Can Boost Business Success (uxm)919
user-experience, design, economics, user-conversion, mobile, navigation
Node vs. Bun: No Backend Performance Difference918
nodejs, bun, comparisons, metrics
Benchmarking the Performance of CSS “@property” (bra)917
css
I Wasted a Day on CSS Selector Performance to Make a Website Load 2 ms Faster (try)916
css, selectors
“img sizes=auto” for Native Lazy Loading (ste)915
code-pens, html, images, lazy-loading
Improving Rendering Performance With CSS “content-visibility” (nol)914
css, rendering, optimization
Why We Switched From Cypress to Playwright913
cypress, playwright, comparisons, tooling, testing
Optimising for High Latency Environments (css)912
optimization, content-delivery, http, caching
Speed Up Your Website With “<link rel=preconnect>” (tre)911
hints
Five Ways to Lazy Load Images for Better Website Performance910
lazy-loading, tooling
Chrome Ends Support for First Input Delay (rvi)909
browsers, google, chrome, web-vitals, support
Skeleton Screens vs. Progress Bars vs. Spinners (nng)908
videos, user-experience, placeholders, progress-indicators
Lazy Loading Isn’t Just Lazy, It’s Late: The Web Deserves Faster907
lazy-loading, web-vitals, angular, single-page-apps
An SSR Performance Showdown (mco)906
server-side-rendering, vuejs, svelte, solidjs, preact, react, comparisons
Faster Pages With React905
react
The Ultimate Guide to Font Performance Optimization (deb)904
guides, fonts, optimization
The Two Lines of CSS That Tanked Performance (120 FPS to 40 FPS) (and)903
css, animations
5 Wasm Use Cases for Frontend Development (ele/des)902
guest-posts, webassembly, security
How to Make Your Web Page Faster Before It Even Loads (whi/get)901
how-tos, web-vitals
Common Misconceptions About How to Optimize LCP900
web-vitals, metrics, optimization
Cache Grab: How Much Are You Leaving on the Table? (css)899
caching
Reckoning: The Way Out (sli)898
javascript, metrics, hiring
Brand New Performance Features in Chrome DevTools (deb)897
browsers, google, chrome, dev-tools, web-vitals
5 Questions for Tammy Everts (tam+/fro)896
interviews, metrics, user-experience, economics
“blocking=render”: Why Would You Do That?! (css)895
html, rendering
Reckoning: Caprock (sli)894
javascript
Reckoning: Object Lesson (sli)893
javascript, metrics
Reckoning: The Landscape (sli)892
javascript, metrics, mobile
Is CSS Grid Really Slower Than Flexbox? (ben)891
css, grids, flexbox, layout
Who Is the Fastest? Node.js, Bun.js, or Deno.js (tre)890
javascript, runtimes, nodejs, bun, deno, comparisons
Flexible Network Data Preloading in Large SPAs889
single-page-apps, client-side-rendering, data-fetching, preloading
Benchmarking AWS Lambda Cold Starts Across JavaScript Runtimes (den)888
deno, aws, serverless, lambda, javascript, runtimes, comparisons
What to Expect When You’re Optimizing (tka)887
optimization
Why Is Spawning a New Process in Node So Slow? (val)886
nodejs, comparisons
15 Page Speed Optimizations That Sites Ignore (at Their Own Risk) (tam/spe)885
optimization
How Fast Is JavaScript? Simulating 20,000,000 Particles884
javascript
Speeding Up the JavaScript Ecosystem—Isolated Declarations (mar)883
javascript, typescript
YouTube Embeds Are Bananas Heavy and It’s Fixable (chr/fro)882
embed-code, youtube, tooling
Do Grayscale Images Take Less Space?881
images, colors
Enhancing The New York Times Web Performance With React 18880
react, case-studies
Advanced JavaScript Performance Optimization: Techniques and Patterns879
javascript, optimization, techniques, software-design-patterns
Bun Is Much Faster Than Node.js 22 at Decoding Base64 Inputs (lem)878
bun, nodejs, base64, comparisons
Performance Mistakes You Might Not Realize You Are Making877
videos, mistakes, angular
Writing a WordPress Theme in Less Than 4 KB876
wordpress, theming, minimalism
Field Testing CSS Containment for Web Performance Optimization (scr)875
css, containment, optimization
How React 19 (Almost) Made the Internet Slower (cod)874
react
Blazing Fast Websites With Speculation Rules (deb)873
speculation
Highlight Areas That the Browser Engine Re-Paints (pat/dev)872
debugging, painting, browser-engines, browsers, google, chrome, microsoft, edge, apple, safari
How to Hack Your Google Lighthouse Scores in 2024 (whi/sma)871
how-tos, google, lighthouse
Investigating INP Issues (ste)870
web-vitals, debugging
Find Slow Interactions in the Field (mal)869
apis
Using Critical CSS for Faster Rendering (spe)868
css, critical-path, rendering
How Deep Is Your DOM? (max)867
dom, lighthouse, google
Analyze CSS Selector Performance During Recalculate Style Events866
browsers, google, chrome, dev-tools, selectors, css
Semantic Code in HTML: What Is It and Does It Still Matter? (boa)865
html, semantics, accessibility, seo, maintainability
Engineering for Slow Internet864
user-experience
Responsive Video Works Now—These Features Could Make It Work Better (sco)863
multimedia, responsive-design, html
Lazy Load Components in Nuxt to Improve Performance (jac)862
nuxt, lazy-loading, components
Node.js Performance Hooks: Mastering the Mental Model (pav)861
nodejs, hooks
Speeding Up File Load Times, One Page at a Time (fig)860
figma
“<style>”: Inline Optimizations for the Bold (mor)859
html, css, optimization
Comprehensive Guide to JavaScript Performance Analysis Using Chrome DevTools858
guides, javascript, debugging, browsers, google, chrome, dev-tools
New Field Insights for Debugging INP (mal)857
videos, web-vitals
From Fast Loading to Instant Loading (tun)856
videos, apis
Prefetching When Server Loading Won’t Do (ada/fro)855
client-side-rendering, server-side-rendering, streaming
WebAssembly Performance Patterns for Web Apps (tom)854
webassembly, web-apps
Optimizing INP: A Deep Dive853
videos, debugging, web-vitals, optimization, browsers, google, chrome, dev-tools, deep-dives
Ruby Might Be Faster Than You Think (joh)852
ruby
Why Don’t We Talk About Minifying CSS Anymore? (whi/get)851
css, minification
Latency Numbers Every Frontend Developer Should Know (ind)850
metrics, terminology
Hello Bun: How Sveld Now Deploys 2× Faster on GitHub and Render849
bun, deploying, case-studies
Node.js Task Runner848
nodejs
Using “@defer” Defer Views in Angular 17847
angular, lazy-loading
Five Ways Cookie Consent Managers Hurt Web Performance (and How to Fix Them) (cli/spe)846
cookies, consent-management
9 Signs Your Frontend Code Has Quality Issues That Affect Your Users (ang)845
quality, craft, accessibility, usability, user-experience, conformance
Monitoring BFCache Blocking Reasons (chr/mdn)844
bfcache, monitoring, debugging
Epic App Performance Starts With the Database843
videos, databases, optimization
Optimizing WebKit and Safari for Speedometer 3.0 (pat+/web)842
webkit, browsers, apple, safari, optimization
Understanding Interaction to Next Paint (INP) (wil/fro)841
web-vitals
An Introduction to the Node.js Performance API (bet)840
introductions, nodejs, apis
Faster Websites With the “picture” Element (fra)839
html, images
BFCache Explained838
bfcache, browsers
How-To: 5 Steps to Detect Invalid HTML Breaking Your [Site’s Performance] (erw)837
how-tos, html, conformance
How I Fixed My Brutal TTFB (whi/get)836
metrics, optimization
How Invalid HTML Elements Impact Web Performance (erw)835
html, conformance
Profile Node.js Performance With the Performance Panel (jec+)834
nodejs, debugging, browsers, google, chrome, dev-tools
Don’t Get Scammed by Fake Performance Experts and Apps833
tooling
This Pattern Will Wreck Your React App’s TS Performance (mat)832
design-patterns, react, typescript
Time to Ditch Analytics? Tracking Scripts and Web Sustainability (mic)831
embed-code, google, analytics, sustainability, compliance
How Web Bloat Impacts Users With Slow Devices830
metrics, comparisons, web
Migrating Away From Jest and Achieving Over 90% Reduction in Running Time (pat)829
migrating, jest, testing, memory
How to Optimize Cumulative Layout Shift (CLS) on Shopify Sites (sia)828
how-tos, web-vitals, optimization, shopify
Performance Tooling in 2024 and Beyond827
tooling, browsers, dev-tools, lighthouse, google
HTML Performance Optimization: Tips for Faster Loading Pages826
html, landing-pages, optimization, tips-and-tricks
Interaction to Next Paint Is Officially a Core Web Vital (rvi)825
web-vitals
Announcing Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness824
tooling, metrics
What Is INP and Why You Should Care (whi/get)823
web-vitals, monitoring
Have You Optimized for INP?822
web-vitals, optimization
AVIF Is the Future of Web Images821
images, avif, outlooks
When We Talk About Front-End Performance, What Are We Talking About820
metrics, web-vitals, lighthouse, google
How to Lazy-Load CodePen and CanIUse Embeds819
how-tos, embed-code, codepen, caniuse
Reporting Core Web Vitals With the Performance API (geo/sma)818
apis, web-vitals
What Is a Single-Page Application? (hey)817
single-page-apps, javascript, user-experience
JavaScript Bloat in 2024 (nik)816
javascript
How to Optimize the Web for the Worst User Conditions?815
how-tos, user-experience, responsive-design, optimization
The One Trick Every Flutter Web Dev Needs to Know814
tips-and-tricks, flutter
What Is Lighthouse Speed Index (SI) and How to Reduce It813
metrics, lighthouse, google
The Importance of Web Performance to Information Equity (sch/fos)812
videos, accessibility
Making Your SVG Icons CSS Masks Instead of Inline HTML or Backgrounds Has Some Benefits (chr/fro)811
images, svg, css, masking
Interaction to Next Paint Becomes a Core Web Vital on March 12 (mal+)810
web-vitals, metrics
The Psychology of Site Speed and Human Happiness (tam/spe)809
usability
LCP and FCP on Single Page Application on Soft Navigations (dws)808
web-vitals, single-page-apps, navigation
Progressive JPEGs (PJPEG): The Key to Loading Images Faster on Your Website807
pjpeg, jpeg, images, comparisons
How Core Web Vitals Affect SEO (ind)806
web-vitals, lighthouse, google, seo
Why Do Reflows Negatively Affect Performance? (fro)805
reflow
Guide to Fast Next.js804
guides, nextjs, optimization, server-side-rendering, lazy-loading
Optimizing SQL Queries by 23×803
databases, sql, optimization
The Evolution of Page Speed (mat/deb)802
videos, metrics, optimization, history
JS Perf Wins and New Node.js Features With Yagiz Nizipli (wes+/syn)801
podcasts, javascript, nodejs, optimization
Node.js Mastery: Advanced Development and Performance Tips800
nodejs, servers, express, testing, memory
React Is Slow, What to Do Now?799
react
Measuring, Monitoring, and Optimizing TTFB With Server Timing (per)798
monitoring, optimization, apis, time
The State of Benchmarking in Node.js797
nodejs, metrics
Debugging Fetch Priority (jec+)796
videos, debugging, web-vitals, apis
The Golden Rule of Web Performance and Different Performance Engineering Specializations (per)795
principles
10 Ways to Speed Up JavaScript Loading794
javascript, lazy-loading, minification, bundling, code-splitting, tree-shaking, modules, content-delivery, caching, compression, auditing
RLI (Recently Logged-In) Browser Cache Bypassing (tim/per)793
caching, optimization
A Checklist for CLS Scenarios (per)792
checklists, web-vitals
How We Reduced CSS Size and Improved Performance Across GOV.UK791
case-studies, css, optimization
Who Stole My Largest Contentful Paint? (per)790
web-vitals, optimization
Getting Started With Web Performance (acc/mat)789
introductions, web-vitals, testing
Ten Optimisation Tips for an Initial Web Performance Audit (acc/per)788
tips-and-tricks, optimization, auditing
Improve App Performance With Angular 17 “defer”787
videos, angular, optimization
How I Brought LCP Down to Under 350 ms for Google-Referred Users on My Website (paw)786
web-vitals, optimization, case-studies
Preparing for Interaction to Next Paint, a New Web Core Vital (geo/sma)785
web-vitals, optimization
React Performance Optimization784
react, optimization
An Informed Pre-Caching Strategy for Large Sites (per)783
strategies, caching
Testing the Performance of Social Media Embeds (mic)782
testing, embed-code, social-media
Fastest Way of Passing State to JavaScript, Re-Visited (kur/per)781
javascript, state-management
Debugging BFCache, Make Your Page Load Instantly (jec+)780
videos, bfcache, browsers, google, chrome, dev-tools, debugging
Measure LCP Sub-Parts to Improve Largest Contentful Paint (mat/deb)779
web-vitals, metrics
Kicking the Excessive JavaScript Habit (mic)778
javascript, developer-experience, user-experience
Resource Loading at the Cutting Edge (per)777
videos
Measuring Long Animation Frames (LoAFs) in the Browser (mat/deb)776
animations, apis, web-vitals
Psychology of Speed: A Guide to Perceived Performance (fox/cal)775
guides, user-experience
URL Parser Performance (bag)774
urls, parsing
The Unbearable Weight of Massive JavaScript (rya/per)773
videos, javascript, frameworks
Optimizing Frontend Performance: Mastering Memoization, Throttling, and Debouncing772
optimization, memoization, throttling, debouncing
A Faster Web in 2024 (rvi)771
web-vitals, metrics, web
Using CSS “content-visibility” to Boost Your Rendering Performance (log)770
css, rendering
Why We Need a “Green” Perf Metric (scr/per)769
videos, sustainability, metrics
How Core Web Vitals Saved Users 10,000 Years of Waiting for Web Pages to Load (add+)768
google, user-experience, metrics
Performance in React and Next.js767
videos, react, nextjs
Speeding Up the JavaScript Ecosystem—Tailwind CSS (mar)766
javascript, tailwind
Learn Performance (kev+)765
courses
Answering Common Questions About Interpreting Page Speed Reports (geo/sma)764
optimization
Effective Strategies for Optimizing Performance763
strategies, optimization
20 Effective Tips to Speed Up Your Drupal Website762
drupal, tips-and-tricks, optimization
Liquid vs. Headless: A Look at Real User Web Performance (sia)761
shopify, headless, metrics, comparisons
Performance Optimization With Worker Threads Node.js760
optimization, nodejs, worker-threads
Tailwind vs. Semantic CSS759
tailwind, css, html, semantics, comparisons
Solid.js Creator Outlines Options to Reduce JavaScript Code758
javascript
The Three Cs: Concatenate, Compress, Cache (css)757
compression, caching
Back/Forward Cache (phi+)756
bfcache, browsers, chrome, google
Speeding Up the JavaScript Ecosystem—the Barrel File Debacle (mar)755
javascript, architecture
The Hidden Performance Cost of Node.js and GraphQL754
nodejs, graphql
The Ultimate Low-Quality Image Placeholder Technique (css)753
images, web-vitals
Optimizing Web Fonts752
fonts, css, optimization
Speeding Up the JavaScript Ecosystem—Polyfills Gone Rogue (mar)751
javascript, polyfills
The Psychology of Web Performance (tam/btc)750
videos, user-experience, history
Experimenting With Measuring Soft Navigations (tun)749
web-vitals, navigation, experiments, metrics
Get All That Network Activity Under Control With Priority Hints (mac)748
network, hints
Sustainability and Tech and Us (j9t)747
sustainability, minimalism, principles
I Think I Kind of Hate Lazy Loading (ede)746
lazy-loading
Stop Lazy Loading Product and Hero Images (gri/clo)745
lazy-loading, images
Why Do I Have Layout Shift? (una+)744
videos, web-vitals
Benchmarks [for 24 CSV Parsing Approaches]743
csv, parsing, comparisons
Five Optimization and Performance Tools That Enhance Website User Experience742
user-experience, optimization, tooling, link-lists
Code Splitting in React: Optimize Performance by Splitting Your Code741
code-splitting, react, optimization
Debugging Speculation Rules (tun)740
speculation, debugging
A Guide to Optimizing JavaScript Files739
guides, javascript, optimization, minification, compression
How Layout Position Impacts Three Big Web Performance Levers (sia)738
web-vitals
Google Tag Manager Performance: 9 Tips for Faster Site Speed737
google, tag-management, tips-and-tricks
A Guide to Single-Page Application Performance736
guides, single-page-apps, developer-experience, monitoring
How to Improve Performance of Your Database by Indexing Large Tables735
how-tos, databases, optimization
Optimizing Speed on ebay.com (add)734
optimization, web-vitals, case-studies, ebay
How We Optimized Performance to Serve a Global Audience (sma)733
case-studies, optimization
You Probably Don’t Need “http-equiv” Meta Tags (rvi)732
html, metadata, http
Speeding Up V8 Heap Snapshots (jda)731
javascript, javascript-engines, v8, memory
Core Web Vitals for Search Engine Optimisation: What Do We Need to Know? (css)730
web-vitals, seo
Preload vs. Early Hints vs. Fetch Priority729
videos, html, http, hints, comparisons, preloading
A Case Study on Scroll-Driven Animations Performance728
animations, scrolling, css, javascript
Loading and Progress Indicators727
user-experience, design-patterns, progress-indicators
How to Prevent Unnecessary React Component Re-Rendering726
how-tos, react, client-side-rendering
Tree Shaking in JavaScript725
javascript, tree-shaking
Is Lighthouse a Misleading Performance Tool?724
google, lighthouse, web-vitals, tooling
What Is Page Bloat? And How Is It Hurting Your Business, Your Search Rank, and Your Users? (tam/spe)723
user-experience, user-conversion, metrics, economics
In Defence of “DOMContentLoaded” (css)722
javascript, dom
Comparing npm, Yarn, and pnpm Package Managers: Which One Is Right for Your Distributed Project to Handle High Loads?721
npm, yarn, pnpm, comparisons, best-practices
What Does the Image “decoding” Attribute Actually Do? (tun)720
html, attributes, images
Debugging INP (scr)719
videos, debugging, web-vitals
The Cost of JavaScript 2023 (add)718
videos, javascript
Too Much JavaScript? Why the Frontend Needs to Build Better717
javascript, web-platform
Style Recalculation Secrets They Don’t Want You to Know (pat/css)716
videos, css, selectors
Before Your Next Frontend Pull Request, Use This Checklist (tra/evi)715
checklists, compression, dependencies, accessibility, legibility, naming
Reducing Complexity in Front End Development (mic)714
complexity, css, javascript
How to Detect Unnecessary Renderings of DOM Elements in Your Web App to Improve Performance713
how-tos, rendering, dom, debugging, angular
How Chrome Achieved High Scores on Three Browser Benchmarks712
browsers, google, chrome
Performance Is Not a Checklist (tka)711
user-experience
Watch Out for Layout Shifts With “ch” Units (pau/clo)710
css, units
Deploying AVIF for More Responsive Websites709
images, avif
Announcing INP as the Next Core Web Vital: What Shopify Stores Can Do Now (sia)708
web-vitals, shopify
Introducing INP to Core Web Vitals707
introductions, web-vitals, google, search, seo
How to Optimize Web Responsiveness With Interaction to Next Paint (ann)706
videos, how-tos, web-vitals
The 9 Most Effective Core Web Vitals Opportunities of 2023 (tun)705
videos, web-vitals
Advancing Interaction to Next Paint (rvi+)704
web-vitals
Diagnose Slow Interactions in the Lab (mal)703
web-vitals
Optimize Input Delay (mal)702
web-vitals, optimization
Find Slow Interactions in the Field (mal)701
web-vitals, auditing
How Large DOM Sizes Affect Interactivity, and What You Can Do About It (mal)700
dom, html, optimization
Script Evaluation and Long Tasks (mal)699
javascript, web-vitals
Client-Side Rendering of HTML and Interactivity (mal)698
html, client-side-rendering
Pay Attention to Web Performance Metrics to Improve the UX (uxm)697
metrics, user-experience, web-vitals, optimization