Joan León's Avatar

Joan León

@nucliweb.net

⚡️ Web Performance Artisan at @perf.reviews | Google Dev Expert in Web Tech | Cloudinary Ambassador | ❤️ Image Optimization | Girona

1,776
Followers
489
Following
540
Posts
26.04.2023
Joined
Posts Following

Latest posts by Joan León @nucliweb.net

Video thumbnail

📌 In this brief clip, @sneyers.info underscores the surging industry support for JPEG XL, tracking the momentum that ultimately led to its growing adoption across major browsers. 🎬 ✨ SPDY STREAM 024 ✨, in viewports soon.

06.03.2026 18:14 👍 4 🔁 2 💬 0 📌 0
Post image Post image Post image Post image
06.03.2026 09:19 👍 1 🔁 0 💬 0 📌 0

The JPEG XL Image Coding System
History, Features, Coding Tools, Design Rationale, and Future

arxiv.org/pdf/2506.05987

#Image #JpegXL

06.03.2026 09:13 👍 3 🔁 1 💬 1 📌 0
Preview
Request for developer feedback: focusgroup  |  Blog  |  Chrome for Developers Try out focusgroup and comment on the proposal.

Open UI has been working on speccing out the focusgroup attribute: a declarative way to support roving focus & add keyboard nav to composite widgets like toolbars/menus

We'd love your feedback!

Learn more & see open questions: developer.chrome.com/blog/focusgr...

H/t to Edge folks for prototyping

05.03.2026 16:54 👍 68 🔁 20 💬 6 📌 2
Preview
WebPerf Snippets and Agent SKILLs: deterministic audits with Chrome DevTools MCP | Joan León WebPerf Snippets become Agent SKILLs with scripts as deterministic tools for AI agents, executable directly in the browser via Chrome DevTools MCP.

In the article:

• Architecture of the 6 SKILLs (CWV, Loading, Interaction, Media...)
• Workflows with decision trees: if TTFB > 600ms → run Sub-Parts.js
• Install: npx skills add nucliweb/webperf-snippets

joanleon.dev/en/webperf-s...

#WebPerf #WebPerformance #AI #DevTools #MCP

04.03.2026 15:21 👍 4 🔁 0 💬 0 📌 0

Result: with a single-line prompt I detected 7 scripts from the Usercentrics consent banner with the Preload + Async anti-pattern on a Cocunat product page.

Detailed diagnosis and fix options. Autonomously.

04.03.2026 15:21 👍 0 🔁 0 💬 1 📌 0

What I've applied: scripts are .js files inside the SKILL.
The agent reads and executes them via Chrome DevTools MCP.

Same code every time. Deterministic.

04.03.2026 15:21 👍 0 🔁 0 💬 1 📌 0

The easy option: JavaScript inline in the SKILL markdown.

The problem: thousands of tokens on every invocation, even if only one script is needed. And nothing guarantees the LLM runs the code exactly as written.

04.03.2026 15:21 👍 0 🔁 0 💬 1 📌 0
WebPerf Snippets and Agent SKILLs: deterministic audits with Chrome DevTools MCP

WebPerf Snippets and Agent SKILLs: deterministic audits with Chrome DevTools MCP

Claude Code report showing Usercentrics scripts causing performance issues by combining 'preload' and 'async'. It recommends removing preloads or using fetchpriority='low' to avoid competing with critical LCP resources.

Claude Code report showing Usercentrics scripts causing performance issues by combining 'preload' and 'async'. It recommends removing preloads or using fetchpriority='low' to avoid competing with critical LCP resources.

I've been using WebPerf Snippets in my audits for years.
Scripts to measure LCP, INP, CLS, TTFB, Render Blocking...

The next step: turning them into tools an AI agent can use autonomously.
But there's a design decision that makes all the difference.

🧵

#WebPerf #WebPerformance #AI #DevTools #MCP

04.03.2026 15:21 👍 9 🔁 4 💬 1 📌 0
Preview
a drawing of a person loading a virtual hug ALT: a drawing of a person loading a virtual hug

Espero que todo vaya bien

04.03.2026 13:02 👍 0 🔁 0 💬 0 📌 0
Video thumbnail

Twang

editor.p5js.org/isohedral/fu...

04.03.2026 10:15 👍 24 🔁 5 💬 1 📌 0

For the image that ends up being the LCP element, none, that’s why I delete it.

But it seems that we have disclosed a lot about loading=lazy and decoding=async for images outside the viewport, and the models are what they suggest by default 🫠

03.03.2026 23:35 👍 1 🔁 0 💬 1 📌 0

And the height attribute too, to avoid to impact to the CLS 😉

03.03.2026 19:54 👍 2 🔁 0 💬 0 📌 0

This would be a great addition to every CMS, as a page is published/updated, right before it is cached! 🥰

03.03.2026 19:48 👍 1 🔁 1 💬 1 📌 0
Post image

Taught Claude Code to prioritise loading the first image in a post 😉

#WebPerf

03.03.2026 18:46 👍 4 🔁 1 💬 1 📌 1
Preview
GitHub - lala-hakobyan/front-end-debugging-handbook: A comprehensive guide to debugging tools for modern, complex front-end applications. This handbook provides practical, real-world guidance on a com... A comprehensive guide to debugging tools for modern, complex front-end applications. This handbook provides practical, real-world guidance on a complete suite of tools, from Chrome DevTools and fra...

Ever wanted a comprehensive guide to DevTools and debugging front ends? Check out this ebook that Lala Hakobyan just launched:

github.com/lala-hakobya...

I’m impressed!!

26.02.2026 17:25 👍 27 🔁 10 💬 0 📌 0
“Practical guide to the img element: from the basics to LCP” title, author’s name Joan León, code snippets, table of contents, and hashtags: images, webperf, core-web-vitals, html.

“Practical guide to the img element: from the basics to LCP” title, author’s name Joan León, code snippets, table of contents, and hashtags: images, webperf, core-web-vitals, html.

Practical guide to the <img> element: from basics to LCP. @nucliweb.net shows how srcset, sizes, modern formats AVIF and WebP via <picture>, fetchpriority, preload for the LCP image, and CDNs can improve Core Web Vitals. #performance #html

joanleon.dev/en/guia-prac...

26.02.2026 12:47 👍 14 🔁 4 💬 0 📌 0

Interested in the @httparchive.org and not sure where to start? During the @performanceobserver.dev meetup tomorrow (12:30pm ET), I'm going to be providing an overview of the HTTP Archive and demonstrate how to start querying it! performanceobserver.dev/events/episo...

25.02.2026 23:08 👍 9 🔁 6 💬 0 📌 1
Preview
Precompressed HTML at the Edge: Eleventy Meets Cloudflare Workers In this post, I will show you how I integrate Brotli level 11 compression directly into my 11ty build process to squeeze every possible byte out of my blog’s HTML.

New Blog post by me! Pre-compressing HTML to Brotli 11 using the #11ty build pipeline and serving via Cloudflare pages & a Cloudflare Worker #eleventy #webperf #perfmatters #cloudflare
nooshu.com/blog/2026/02...

23.02.2026 09:02 👍 8 🔁 2 💬 0 📌 0
Joan Leon delivering a Web Performance training session to a group of professionals, pointing at a large screen displaying web development tools while attendees listen seated in a training room.

Joan Leon delivering a Web Performance training session to a group of professionals, pointing at a large screen displaying web development tools while attendees listen seated in a training room.

Detail of La Pedrera’s façade featuring its distinctive wrought iron balconies and wavy stone shapes, seen from street level and from a balcony overlooking the avenue.

Detail of La Pedrera’s façade featuring its distinctive wrought iron balconies and wavy stone shapes, seen from street level and from a balcony overlooking the avenue.

Last week I delivered a Web Performance training for part of the Basetis technical team: 2 days of theory and hands-on practice with real cases. We covered Core Web Vitals, RUM & Lab monitoring, Chrome DevTools, Lighthouse CI, Playwright and more... at the iconic La Pedrera.

#WebPerf #Training

23.02.2026 09:19 👍 6 🔁 1 💬 0 📌 0
Preview
Practical guide to the <img> element: from the basics to LCP | Joan León The <img> element has attributes that make a real difference in performance: loading, decoding, fetchpriority, srcset and sizes. A practical guide to using them well.

Practical guide to the <img> element: from the basics to LCP

joanleon.dev/en/guia-prac...

#WebPerf #ImagePerf #Performance #LCP #CoreWebVitals

22.02.2026 12:29 👍 10 🔁 2 💬 0 📌 0
Preview
Guía práctica del elemento <img>: de lo básico a LCP | Joan León El elemento <img> tiene atributos que marcan una diferencia real en rendimiento: loading, decoding, fetchpriority, srcset y sizes. Una guía práctica para usarlos bien.

Guía práctica del elemento <img>: de lo básico a LCP

joanleon.dev/posts/guia-p...

#WebPerf #ImagePerf #Performance #LCP #CoreWebVitals

22.02.2026 12:29 👍 2 🔁 2 💬 0 📌 0
Preview
WebPerf Snippets | WebPerf Snippets A curated list of snippets to get Web Performance metrics to use in the browser console or as snippets on Chrome DevTools by Joan León

All runnable directly in the browser console.

webperf-snippets.nucliweb.net

📝 Leave a comment if you would like to see any of them in action.

#WebPerf #WebPerformance #ChromeDevTools #CoreWebVitals #JavaScript #WebDev

22.02.2026 11:00 👍 5 🔁 0 💬 0 📌 0

☑ Media (new category)
- Image Element Audit: audits all <img> elements against image performance best practices — LCP candidate detection, fetchpriority and loading attribute misuse, missing width/height (CLS risk), modern format coverage (WebP/AVIF/JXL), and preload link validation

22.02.2026 11:00 👍 2 🔁 0 💬 1 📌 0

☑ Core Web Vitals
- LCP Trails: new snippet for LCP tracing
- JavaScript Execution Time Breakdown: breaks down JS execution time per script

22.02.2026 11:00 👍 2 🔁 0 💬 1 📌 0

☑ Interaction
- Scroll Performance Analysis: detects scroll jank sources: non-passive event listeners, frame drops via rAF timing, and a CSS scroll-related properties audit
- Priority Hints Audit: audits the use of fetchpriority on critical resources

22.02.2026 11:00 👍 1 🔁 0 💬 1 📌 0

☑ Interaction
- Input Latency Breakdown: aggregates INP sub-parts (input delay, processing, presentation) by event type using P75 values, to identify which phase is the systematic bottleneck

22.02.2026 11:00 👍 1 🔁 0 💬 1 📌 0

☑ Loading
- Critical CSS Detection: audits render-blocking stylesheets, inline CSS budget, applies the 14 KB TCP Slow Start rule
- Network Bandwidth & Connection Quality: uses the Network Information API to expose connection type, downlink, RTT, Save-Data status with adaptive serving recommendations

22.02.2026 11:00 👍 1 🔁 0 💬 1 📌 0

☑ Loading
- FCP Breakdown: breaks down First Contentful Paint into three phases: TTFB, render-blocking resource load, and render delay
- Service Worker Analysis: analyzes lifecycle, cache hit ratio, startup overhead, and navigation preload status

22.02.2026 11:00 👍 1 🔁 0 💬 1 📌 0

I've been updating WebPerf Snippets for Chrome DevTools, and this weekend brought 10 new tools for diagnosing web performance directly from the console.

New snippets in webperf-snippets: 🧵

#WebPerf #WebPerformance #ChromeDevTools #CoreWebVitals #JavaScript #WebDev

22.02.2026 11:00 👍 7 🔁 1 💬 1 📌 0