Joan León
@nucliweb
⚡️ Web Performance Artisan at @perf.reviews | Google Dev Expert in Web Tech | Cloudinary Ambassador | ❤️ Image Optimization | Girona
A letter from @addyosmani.bsky.social arrived today, thanking me for my work on Agent Skills. I got in through web performance and stayed for the rest. Thinking about contributing to open source? Start small. Docs and honest reviews count. github.com/addyosmani/a...
Isolated spikes off a stable ~2s baseline, different days, different countries. Not one user on a bad connection, and not bots, I checked. Which is the whole point of RUM: synthetic checks on a schedule would have missed every one.
The site is static, on Netlify. 27s to first byte means the request never resolved at the edge: cache miss to origin, cold start, or a failing PoP.
Update: this isn't frontend. TTFB is 27.44s of a 27.93s FCP. 98% of the time is spent waiting for the first byte, and the HTML is 15 KB.
@speedcurve.com alert, fired on its own: FCP (RUM) budget breached, metric at 4.72s. Flat and green for hours, then climbing. Nobody was watching a dashboard. Synthetic gives reproducibility. RUM gives the truth: real users, real devices, real networks.
Friend: Hey, Joan, can you give us a hand? Me: Sure, send me the URL DevTools: It takes nearly 3 seconds to load the WordPress plugins Me: 🫠
Gracias @commit-conf.com por darme la oportunidad de compartir con la comunidad Estas son las slides de la charla slides.com/joanleon/pat... #CommitConf #WebPerf
“Most teams fall into a reactive performance decay cycle: ship, wait for complaints, panic, patch, repeat. The Fast by Default model provides a repeatable alternative that keeps systems healthy.” Performance Engineering in Practice, by @denodell.bsky.social #WebPerf #Performance
Llevo tiempo viendo demos de multiagentes y casi todas sufren de lo mismo: un agente escribe y otro revisa... para acabar haciendo una todo-app No son malas demos, pero no hay un motivo técnico real para dividirlas en agentes. Así no aprendemos cuándo sí tiene sentido Hilo con una alternativa 👇
This is why the Chrome DevTools MCP is a game-changer. The agent applies a fix, reloads ignoring cache, runs a Lighthouse audit, and checks the score to iterate on the next failure. Fully automated and deterministic. #AgenticDev #WebDev #AI
"You can’t know whether you have a problem if you aren’t monitoring it" as a T-shirt ☺️
I think I may have found a memory leak in LinkedIn A single browser tab was consuming 6 GB of RAM just from leaving the feed open for a while Possible causes: • client-side state leaks • excessive caching • unreleased media resources • runaway DOM growth Performance is a feature #WebPerf
El agente de IA no sabe debuggear rendimiento si tú no le das el contexto para hacerlo. No es que sea malo. Por defecto trabaja a ciegas: sin acceso al navegador, sin trazas reales. #WebPerf #Performance #AIAgents #ChromeDevTools #Frontend
Toggle CSS classes in bulk, then reset the scroll: two lines that force the browser to block the main thread synchronously. I documented how to detect it in the Performance Panel and why one requestAnimationFrame is not enough to fix it. #WebPerf #CSS #DevTools #JavaScript
Thanks to Codemotion for giving me the opportunity to continue sharing my knowledge on #WebPerf (aka improving the UX), and to do so in a workshop format where we use Chrome DevTools MCP to identify performance issues on a website with AI agents. #WebPerf #PerfTools #DevTools #CodemotionMadrid
“Or brains are the only intelligence tools we'll have for our entire lives.” - @cassidoo.co #CodemotionMadrid
Nos vemos el lunes en Codemotion Madrid, en un taller práctico donde utilizaremos agentes de IA para detectar problemas de rendimiento en nuestra web con la ayuda de Chrome DevTools MCP #WebPerf #Chrome #CoreWebVitals #Performance #CodemotionMadrid
Sometimes opportunities come along that push you out of your comfort zone. An international product, millions of visits, and impact at scale. Definitely an exciting challenge. #WebPerf #CoreWebVitals #PerfChallenge
Software is evolving fast. My focus hasn’t changed: helping teams improve performance, UX, and conversion AI generates working code faster than ever… but not optimized for performance That’s where we add value: from “it works” to “it’s excellent” Reading @addyosmani.bsky.social’s new book
Did you know webperf-snippets has these snippets to analyze loading performance? Here are some you might not know about: 🧵 #WebPerf #Performance #WebPertSnippets
A measurement that varies with the model's interpretation is not a measurement. It's an estimate. I've written about separating deterministic measurement from AI analysis in web performance audits. #WebPerf #Performance #PerfReview #AI #DevTools
Find the bottleneck. Fix it. Hands on exercises to diagnose and fix the most common performance problems in React apps; from unnecessary re-renders to costly hydration slowreact.vercel.app #WebPerf #Performance #React #ReactPerf
Chrome is bringing AI directly into the browser with the Summarizer API. In this post I show how to add an AI-generated summary to blog posts using the Chrome Summarizer API and models running locally in the browser. No external APIs. No token costs. #AI #WebAI #JavaScript #Chrome
Ejemplo real optimizando imágenes: PNG → MozJPEG → WebP → AVIF La diferencia puede ser de varios megabytes a solo decenas de kB.
WebPerf Snippets agent-first WebPerf Snippets SKILLs were written for humans: emojis, colours, tables. The agent had to parse all of that. I added structured JSON returns and a build with terser that removes the console code. 80 lines → ~300 characters. #WebPerf #AI #Performance
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