Fresh Reads
import() dinámico: el navegador ya cachea nuestros módulos
Llamar a import() cada vez que se usa una funcionalidad no vuelve a descargar ni a evaluar el módulo: el navegador lo reutiliza desde su module map. Qué garantiza, cuándo deja de ser el mismo módulo y qué pasa cuando la primera carga falla.
WebMCP en un sitio estático: la web de GeeksCAT Conf 2026, lista para agentes
La web de GeeksCAT Conf 2026 es un sitio estático con Astro y expone su agenda, sus ponentes y los datos del evento a agentes de IA con WebMCP. Tres capas: un manifiesto en /.well-known, endpoints JSON generados en build y registro de herramientas con document.modelContext.
HTTP cache partitioning: la misma imagen, descargada dos veces
Una página con un iframe cross-site pide la misma imagen desde el iframe y desde el padre. En Chrome se descarga dos veces; en Firefox y Safari, una. Por qué la cache key no es la misma en los tres motores, por qué compartir partición no garantiza el hit, y qué propone…
Una skill que no sabe nada: la arquitectura de Modern Web Guidance
Modern Web Guidance no guarda el conocimiento en la skill, enseña al agente a recuperarlo. Búsqueda semántica local con MiniLM y TensorFlow.js, guías con grader propio y calibración empírica del contenido.
La ventana móvil de 28 días de CrUX
Cómo funciona de verdad la ventana móvil de 28 días de CrUX, qué publica cada fuente y por qué el p75 tarda tanto en moverse aunque los datos solo tengan dos días de retraso.
Un 301 en cada clic: la trailing slash que ralentizaba toda la navegación interna
Un hallazgo real en skills.addy.ie: cada enlace interno provocaba una redirección 301 en Netlify por una barra final que faltaba. Qué le cuesta a la UX, cómo lo detecté en las DevTools, el fix rápido que se me ocurrió y la solución de fondo (Astro directory format +…
Keep-Alive no es Cache-Control: anatomía de una cascada de red
Un caso real de auditoría: dos imágenes pesadas (608 KB y 403 KB) bajo HTTP/1.1 con Connection: Keep-Alive pero sin Cache-Control. Por qué son cosas distintas, qué arregla HTTP/2 y cómo preconnect adelanta el handshake. Con demo interactiva del waterfall.
El misterio del #document que se repinta solo: Paint flashing y capas de composición
Por qué la capa #document acumula cientos de repintados en reposo por culpa de un ticker animado con transform, cómo cazarlo con la pestaña Layers y Paint flashing, y cómo promocionar el elemento a su propia capa de composición con will-change.
Antigravity Skills: configuración avanzada del frontmatter YAML
Los campos kind, model, temperature, max_turns y tools del frontmatter de SKILL.md permiten configurar con precisión cómo se ejecuta cada agente en Antigravity. Guía práctica con los campos extendidos que Google aún no documenta oficialmente.
Edición de vídeo en el browser con WebGPU
WebGPU permite aplicar efectos y transformaciones a vídeo en tiempo real en el browser. Implementación práctica con benchmarks y limitaciones reales.
Forced Synchronous Layout: cómo detectarlo y analizarlo con DevTools
Cómo un reset de scroll tras una manipulación masiva del DOM provoca un Forced Synchronous Layout, cómo detectarlo en el Performance Panel y en Selector Stats de Chrome DevTools, y cómo corregirlo con requestAnimationFrame.
ML en el browser con WebGPU: inferencia en tiempo real
Cómo usar WebGPU como backend de TensorFlow.js para ejecutar modelos de ML en el browser con rendimiento real. Benchmarks y casos prácticos.
Automatiza el navegador desde la terminal con Chrome DevTools MCP CLI
El paquete chrome-devtools-mcp incluye una CLI experimental que permite controlar Chrome directamente desde la terminal: navegar, interactuar, auditar rendimiento, analizar red y memoria, todo sin salir de la shell.
Procesamiento de imágenes en el browser con WebGPU
Cómo usar WebGPU para aplicar filtros y transformaciones a imágenes en el browser. Benchmarks reales comparando con Canvas 2D.
WebGPU: el nuevo motor de rendimiento del navegador
WebGPU expone la GPU directamente al browser y abre nuevas posibilidades para el procesamiento intensivo: imágenes, vídeo, ML y mucho más.
IA en auditorías de Web Performance: medición determinística e informes accionables
Cómo combinar scripts determinísticos y agentes de IA para ir de la recopilación de métricas a un informe accionable, y sentar las bases del test de regresión continuo en rendimiento.
AI-Driven Performance Debugging: Gemini + Chrome DevTools MCP
Workshop práctico de diagnóstico de rendimiento con Gemini CLI conectada al navegador vía Chrome DevTools MCP: desde identificar un Long Task en código minificado hasta dejar que el agente cree la rama y prepare la PR con la solución.
Añadiendo un resumen IA a los posts del blog con la Chrome Summarizer API
Cómo implementar un botón de resumen IA en un blog Astro usando la Chrome Summarizer API nativa del navegador, sin servidores ni APIs externas.
WebPerf Snippets: progressive disclosure en Claude Skills
Cómo aplicar el sistema de progressive disclosure de Anthropic (L1/L2/L3) para reducir el contexto cargado por las Skills de WebPerf Snippets y liberar espacio en la ventana de contexto del agente.
WebPerf Snippets agent-first: retornos estructurados y tokens mínimos
Los scripts de WebPerf Snippets devuelven ahora JSON estructurado directamente desde evaluate_script() y se minifican en el build eliminando el código muerto, reduciendo el footprint de tokens de forma significativa.
WebPerf Snippets y Agent SKILLs: auditorías determinísticas con Chrome DevTools MCP
Los WebPerf Snippets se convierten en Agent SKILLs con scripts como herramientas determinísticas para agentes de IA, ejecutables directamente en el navegador via Chrome DevTools MCP.
WebPerf Snippets + WebMCP: métricas web que entiende la IA
WebPerf Snippets expone sus herramientas de medición de rendimiento vía WebMCP, el nuevo protocolo que permite a los asistentes de IA interactuar con el navegador de forma nativa.
WebAssembly: el estándar olvidado del W3C
WebAssembly es un estándar del W3C desde 2019, pero muchos desarrolladores aún lo desconocen. Qué es realmente, cómo funciona y por qué deberíais conocerlo.
SVGs en la web: comparativa de rendimiento según cómo los cargas
Inline, sprite con , , ... cada forma de cargar un SVG tiene implicaciones distintas en rendimiento, caché y renderizado. Un análisis práctico para elegir bien.