<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
    <url>
      <loc>https://www.franpradas.com</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com"/>
      <priority>1.0</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com"/>
      <priority>0.9</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/sobre-mi</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/sobre-mi"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/sobre-mi"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/sobre-mi"/>
      <priority>0.8</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/sobre-mi</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/sobre-mi"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/sobre-mi"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/sobre-mi"/>
      <priority>0.7</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/empresas-y-productos</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/empresas-y-productos"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/empresas-y-productos"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/empresas-y-productos"/>
      <priority>0.8</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/empresas-y-productos</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/empresas-y-productos"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/empresas-y-productos"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/empresas-y-productos"/>
      <priority>0.7</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/trayectoria</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/trayectoria"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/trayectoria"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/trayectoria"/>
      <priority>0.8</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/trayectoria</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/trayectoria"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/trayectoria"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/trayectoria"/>
      <priority>0.7</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos"/>
      <priority>0.7</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos</loc>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos"/>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/9-acronimos-que-necesitas-saber-en-2026</loc>
      <lastmod>2026-08-26</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/9-acronimos-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/9-acronimos-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/9-acronimos-que-necesitas-saber-en-2026"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/dry.svg</image:loc>
        <image:caption>Lo que no se repite no son las líneas: es la decisión que hay detrás</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/kiss.svg</image:loc>
        <image:caption>La solución que se entiende sola y la que hay que descifrar</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/yagni.svg</image:loc>
        <image:caption>Lo único que no se construye hoy es el cuadrante rojo</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/solid.svg</image:loc>
        <image:caption>Una letra, un principio, una frase para cada uno</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/crud.svg</image:loc>
        <image:caption>Las cuatro operaciones, con su verbo de HTTP y su sentencia de SQL</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/acid.svg</image:loc>
        <image:caption>Una transferencia: o se apuntan los dos movimientos, o no se apunta ninguno</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/tdd.svg</image:loc>
        <image:caption>Rojo, verde, limpiar. Y vuelta a empezar</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/mvp.svg</image:loc>
        <image:caption>Media rueda no lleva a nadie a ningún sitio; un monopatín sí</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/ci-cd.svg</image:loc>
        <image:caption>Todo lo que pasa entre tu commit y producción, sin que nadie toque nada</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/9-acronimos-que-necesitas-saber-en-2026.jpg</video:thumbnail_loc>
        <video:title>9 acrónimos que necesitas saber sí o sí en 2026</video:title>
        <video:description>DRY, KISS, YAGNI, SOLID, CRUD, ACID, TDD, MVP y CI/CD: qué significan y qué está diciendo de verdad quien los suelta en una reunión.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/9.mp4</video:content_loc>
        <video:publication_date>2026-08-26T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/9-acronimos-que-necesitas-saber-en-2026</loc>
      <lastmod>2026-08-26</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/9-acronimos-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/9-acronimos-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/9-acronimos-que-necesitas-saber-en-2026"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/dry.svg</image:loc>
        <image:caption>What must not repeat is not the lines: it is the decision behind them</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/kiss.svg</image:loc>
        <image:caption>The solution that explains itself and the one you have to decode</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/yagni.svg</image:loc>
        <image:caption>The only thing you do not build today is the red quadrant</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/solid.svg</image:loc>
        <image:caption>One letter, one principle, one sentence each</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/crud.svg</image:loc>
        <image:caption>The four operations, with their HTTP verb and their SQL statement</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/acid.svg</image:loc>
        <image:caption>A transfer: either both entries get written, or neither does</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/tdd.svg</image:loc>
        <image:caption>Red, green, clean up. Then round again</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/mvp.svg</image:loc>
        <image:caption>Half a wheel gets nobody anywhere; a skateboard does</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/acronimos/ci-cd.svg</image:loc>
        <image:caption>Everything between your commit and production, with nobody touching anything</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/9-acronimos-que-necesitas-saber-en-2026.jpg</video:thumbnail_loc>
        <video:title>9 acronyms you absolutely need to know in 2026</video:title>
        <video:description>DRY, KISS, YAGNI, SOLID, CRUD, ACID, TDD, MVP and CI/CD: what they stand for and what someone is really saying when they drop one in a meeting.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/9.mp4</video:content_loc>
        <video:publication_date>2026-08-26T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026</loc>
      <lastmod>2026-08-25</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/server-components.svg</image:loc>
        <image:caption>El componente se ejecuta en el servidor; al navegador solo llega HTML</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/signals.svg</image:loc>
        <image:caption>Sin signals se vuelve a ejecutar el árbol; con signals, solo lo que lee ese dato</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/css-moderno.svg</image:loc>
        <image:caption>La media query mira la ventana; la container query mira el hueco del componente</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/core-web-vitals.svg</image:loc>
        <image:caption>Las tres métricas de Google y el umbral que hay que bajar en cada una</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/accesibilidad.svg</image:loc>
        <image:caption>Lo que separa una pantalla que se puede usar de una que solo se puede mirar</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/view-transitions.svg</image:loc>
        <image:caption>Lo que antes pedía una librería y un truco, ahora lo hace el navegador</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/estrategias-de-render.svg</image:loc>
        <image:caption>Las cuatro se distinguen por una sola cosa: cuándo se genera el HTML</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/typescript.svg</image:loc>
        <image:caption>El cuadrante rojo es el estado que no existe y que tu tipo permite escribir</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/testing-ui.svg</image:loc>
        <image:caption>Muchos tests de componente, los justos de flujo completo</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026.jpg</video:thumbnail_loc>
        <video:title>9 skills de frontend que necesitas saber sí o sí en 2026</video:title>
        <video:description>El frontend se ha movido al servidor, ha dejado de repintarlo todo y por fin tiene herramientas de diseño propias. Esto es lo que hay que saber.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/8.mp4</video:content_loc>
        <video:publication_date>2026-08-25T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026</loc>
      <lastmod>2026-08-25</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/server-components.svg</image:loc>
        <image:caption>The component runs on the server; only HTML reaches the browser</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/signals.svg</image:loc>
        <image:caption>Without signals the tree re-runs; with signals, only whatever reads that value</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/css-moderno.svg</image:loc>
        <image:caption>A media query looks at the window; a container query looks at the component&apos;s slot</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/core-web-vitals.svg</image:loc>
        <image:caption>Google&apos;s three metrics and the threshold you have to stay under for each</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/accesibilidad.svg</image:loc>
        <image:caption>What separates a screen you can use from one you can only look at</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/view-transitions.svg</image:loc>
        <image:caption>What used to need a library and a trick is now done by the browser</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/estrategias-de-render.svg</image:loc>
        <image:caption>All four differ in one single thing: when the HTML gets generated</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/typescript.svg</image:loc>
        <image:caption>The red quadrant is the state that does not exist and your type still allows</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/frontend/testing-ui.svg</image:loc>
        <image:caption>Plenty of component tests, only the necessary full-journey ones</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/9-skills-de-frontend-que-necesitas-saber-en-2026.jpg</video:thumbnail_loc>
        <video:title>9 frontend skills you absolutely need in 2026</video:title>
        <video:description>Frontend has moved to the server, stopped repainting everything and finally has proper design tools of its own. Here is what you need to know.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/8.mp4</video:content_loc>
        <video:publication_date>2026-08-25T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/10-trucos-para-tener-tokens-infinitos-en-claude</loc>
      <lastmod>2026-08-24</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/10-trucos-para-tener-tokens-infinitos-en-claude"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/10-trucos-para-tener-tokens-infinitos-en-claude"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/10-trucos-para-tener-tokens-infinitos-en-claude"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/editar-prompt.svg</image:loc>
        <image:caption>Apilar mensajes multiplica el contexto; editar lo reemplaza</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/chat-nuevo.svg</image:loc>
        <image:caption>El mensaje 30 de un chat cuesta 300 veces más que el primero</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/combinar-preguntas.svg</image:loc>
        <image:caption>Tres turnos cargan el contexto tres veces; uno, una</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/projects.svg</image:loc>
        <image:caption>Un Project guarda el archivo una vez; cada chat lo reutiliza</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/memoria.svg</image:loc>
        <image:caption>Lo escribes una vez y aparece en todos los chats</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/desactivar-funciones.svg</image:loc>
        <image:caption>Cada herramienta activa añade tokens a cada respuesta, la uses o no</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/haiku.svg</image:loc>
        <image:caption>Las tareas simples son la mayoría del día y con Haiku casi no cuentan</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/ventana-5-horas.svg</image:loc>
        <image:caption>Una ráfaga te bloquea; tres sesiones te dan tres ventanas</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/modelo-correcto.svg</image:loc>
        <image:caption>Precios por millón de tokens en la API a agosto de 2026</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/claude-code-contexto.svg</image:loc>
        <image:caption>/context enseña qué ocupa; /compact lo resume; /clear empieza de cero</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/10-trucos-para-tener-tokens-infinitos-en-claude.jpg</video:thumbnail_loc>
        <video:title>10 trucos para tener tokens infinitos en Claude</video:title>
        <video:description>Deja de llegar al límite de uso con Claude. La forma en cómo lo usas hace que gastes mucho más.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/6.mp4</video:content_loc>
        <video:publication_date>2026-08-24T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/10-trucos-para-tener-tokens-infinitos-en-claude</loc>
      <lastmod>2026-08-24</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/10-trucos-para-tener-tokens-infinitos-en-claude"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/10-trucos-para-tener-tokens-infinitos-en-claude"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/10-trucos-para-tener-tokens-infinitos-en-claude"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/editar-prompt.svg</image:loc>
        <image:caption>Stacking messages multiplies the context; editing replaces it</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/chat-nuevo.svg</image:loc>
        <image:caption>Message 30 of a chat costs 300 times more than the first one</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/combinar-preguntas.svg</image:loc>
        <image:caption>Three turns load the context three times; one turn, once</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/projects.svg</image:loc>
        <image:caption>A Project stores the file once; every chat reuses it</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/memoria.svg</image:loc>
        <image:caption>You write it once and it shows up in every chat</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/desactivar-funciones.svg</image:loc>
        <image:caption>Every active tool adds tokens to every answer, whether you use it or not</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/haiku.svg</image:loc>
        <image:caption>Simple tasks are most of the day and with Haiku they barely count</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/ventana-5-horas.svg</image:loc>
        <image:caption>One burst locks you out; three sessions give you three windows</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/modelo-correcto.svg</image:loc>
        <image:caption>API prices per million tokens as of August 2026</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/tokens/claude-code-contexto.svg</image:loc>
        <image:caption>/context shows what takes up space; /compact summarises it; /clear starts over</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/10-trucos-para-tener-tokens-infinitos-en-claude.jpg</video:thumbnail_loc>
        <video:title>10 tricks to get infinite tokens in Claude</video:title>
        <video:description>Stop hitting the usage limit. The same messages at a fraction of the cost, updated to how Claude works today.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/6.mp4</video:content_loc>
        <video:publication_date>2026-08-24T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/top-5-plugins-de-claude-code</loc>
      <lastmod>2026-08-24</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/top-5-plugins-de-claude-code"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/top-5-plugins-de-claude-code"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/top-5-plugins-de-claude-code"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/claude-mem.webp</image:loc>
        <image:caption>github.com/thedotmack/claude-mem · más de 90.000 estrellas</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/caveman.webp</image:loc>
        <image:caption>github.com/JuliusBrussee/caveman · más de 98.000 estrellas</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/taste-skill.webp</image:loc>
        <image:caption>github.com/Leonxlnx/taste-skill · más de 77.000 estrellas</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/humanizer.webp</image:loc>
        <image:caption>github.com/blader/humanizer · más de 36.000 estrellas</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/marketingskills.webp</image:loc>
        <image:caption>github.com/coreyhaines31/marketingskills · más de 44.000 estrellas</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/top-5-plugins-de-claude-code.jpg</video:thumbnail_loc>
        <video:title>Top 5 plugins de Claude Code</video:title>
        <video:description>Ahorra tokens en todas tus suscripciones, mejora el diseño web, haz que el texto se humanice y ten un equipo de marketing entero.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/7.mp4</video:content_loc>
        <video:publication_date>2026-08-24T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/top-5-plugins-de-claude-code</loc>
      <lastmod>2026-08-24</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/top-5-plugins-de-claude-code"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/top-5-plugins-de-claude-code"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/top-5-plugins-de-claude-code"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/claude-mem.webp</image:loc>
        <image:caption>github.com/thedotmack/claude-mem · over 90,000 stars</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/caveman.webp</image:loc>
        <image:caption>github.com/JuliusBrussee/caveman · over 98,000 stars</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/taste-skill.webp</image:loc>
        <image:caption>github.com/Leonxlnx/taste-skill · over 77,000 stars</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/humanizer.webp</image:loc>
        <image:caption>github.com/blader/humanizer · over 36,000 stars</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/plugins/marketingskills.webp</image:loc>
        <image:caption>github.com/coreyhaines31/marketingskills · over 44,000 stars</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/top-5-plugins-de-claude-code.jpg</video:thumbnail_loc>
        <video:title>Top 5 Claude Code plugins</video:title>
        <video:description>Save tokens on every subscription, improve your web design, make your text sound human and have a whole marketing team.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/7.mp4</video:content_loc>
        <video:publication_date>2026-08-24T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/9-skills-de-backend-que-necesitas-saber-en-2026</loc>
      <lastmod>2026-08-23</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/9-skills-de-backend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/9-skills-de-backend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/9-skills-de-backend-que-necesitas-saber-en-2026"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/rest-grpc.svg</image:loc>
        <image:caption>REST manda texto (JSON); gRPC manda binario (Protobuf) por HTTP/2</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/auth-passkeys-jwt.svg</image:loc>
        <image:caption>Passkey para iniciar sesión, JWT para acceder a las APIs</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/cache-redis.svg</image:loc>
        <image:caption>Cache-aside: primero Redis, y solo si falla, la base de datos</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/sql-nosql.svg</image:loc>
        <image:caption>SQL: tablas con estructura fija. NoSQL: documentos flexibles</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/async-reactivo.svg</image:loc>
        <image:caption>Asíncrono: pides y sigues. Reactivo: los datos fluyen solos</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/kafka-eventos.svg</image:loc>
        <image:caption>Productor publica, Kafka guarda, consumidores leen a su ritmo</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/owasp-zero-trust.svg</image:loc>
        <image:caption>OWASP: lo que te van a atacar. Zero Trust: verificar siempre</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/microservicios-malla.svg</image:loc>
        <image:caption>Microservicios independientes; la malla gestiona la red entre ellos</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/opentelemetry-observabilidad.svg</image:loc>
        <image:caption>OpenTelemetry recoge métricas, logs y trazas de todos tus servicios</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/9-skills-de-backend-que-necesitas-saber-en-2026.jpg</video:thumbnail_loc>
        <video:title>9 skills de backend que necesitas saber sí o sí en 2026</video:title>
        <video:description>Aprende algunas de las cosas más importantes que se piden hoy a un desarrollador de backend.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/5.mp4</video:content_loc>
        <video:publication_date>2026-08-23T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/9-skills-de-backend-que-necesitas-saber-en-2026</loc>
      <lastmod>2026-08-23</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/9-skills-de-backend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/9-skills-de-backend-que-necesitas-saber-en-2026"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/9-skills-de-backend-que-necesitas-saber-en-2026"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/rest-grpc.svg</image:loc>
        <image:caption>REST sends text (JSON); gRPC sends binary (Protobuf) over HTTP/2</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/auth-passkeys-jwt.svg</image:loc>
        <image:caption>Passkey to sign in, JWT to access the APIs</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/cache-redis.svg</image:loc>
        <image:caption>Cache-aside: Redis first, the database only when it misses</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/sql-nosql.svg</image:loc>
        <image:caption>SQL: tables with a fixed structure. NoSQL: flexible documents</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/async-reactivo.svg</image:loc>
        <image:caption>Async: ask and move on. Reactive: data flows on its own</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/kafka-eventos.svg</image:loc>
        <image:caption>Producer publishes, Kafka stores, consumers read at their own pace</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/owasp-zero-trust.svg</image:loc>
        <image:caption>OWASP: what gets attacked. Zero Trust: always verify</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/microservicios-malla.svg</image:loc>
        <image:caption>Independent microservices; the mesh handles the network between them</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/backend/opentelemetry-observabilidad.svg</image:loc>
        <image:caption>OpenTelemetry collects metrics, logs and traces from all your services</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/9-skills-de-backend-que-necesitas-saber-en-2026.jpg</video:thumbnail_loc>
        <video:title>9 backend skills you absolutely need to know in 2026</video:title>
        <video:description>Learn some of the most important things a backend developer is expected to know today.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/5.mp4</video:content_loc>
        <video:publication_date>2026-08-23T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/un-momento-como-btc-en-2012</loc>
      <lastmod>2026-07-04</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/un-momento-como-btc-en-2012"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/un-momento-como-btc-en-2012"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/un-momento-como-btc-en-2012"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/claude-tokens.png</image:loc>
        <image:caption>Tokens gastados con la suscripción de Claude en los últimos 21 días</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/twitter-stats.png</image:loc>
        <image:caption>Mis estadísticas en Twitter. En solo 3 meses.</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/threads-stats.png</image:loc>
        <image:caption>Estadísticas de Threads</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/linkedin-stats.png</image:loc>
        <image:caption>Estadísticas de LinkedIn</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/post-engagement.png</image:loc>
        <image:caption>Post de engagement (1,5M)</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/post-personal.png</image:loc>
        <image:caption>Post personal polarizado (200.000)</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/post-conocimiento.png</image:loc>
        <image:caption>Post de conocimiento, sin polarizar (5.000)</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/un-momento-como-btc-en-2012.jpg</video:thumbnail_loc>
        <video:title>Estamos en un momento como el de $BTC en 2012 y lo estás desaprovechando</video:title>
        <video:description>IA barata y útil, algoritmos que premian al pequeño. Junta las dos y tienes la oportunidad de tu vida.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/4.mp4</video:content_loc>
        <video:publication_date>2026-07-04T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/un-momento-como-btc-en-2012</loc>
      <lastmod>2026-07-04</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/un-momento-como-btc-en-2012"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/un-momento-como-btc-en-2012"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/un-momento-como-btc-en-2012"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/claude-tokens.png</image:loc>
        <image:caption>Tokens spent on the Claude subscription over the last 21 days</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/twitter-stats.png</image:loc>
        <image:caption>My Twitter stats. In only three months.</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/threads-stats.png</image:loc>
        <image:caption>Threads stats</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/linkedin-stats.png</image:loc>
        <image:caption>LinkedIn stats</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/post-engagement.png</image:loc>
        <image:caption>Engagement post (1.5M)</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/post-personal.png</image:loc>
        <image:caption>Polarising personal post (200,000)</image:caption>
      </image:image>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/post-conocimiento.png</image:loc>
        <image:caption>Knowledge post, not polarising (5,000)</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/un-momento-como-btc-en-2012.jpg</video:thumbnail_loc>
        <video:title>We are at a $BTC-in-2012 moment and you are wasting it</video:title>
        <video:description>Cheap, useful AI and algorithms that reward the small player. Put the two together and you have the opportunity of your life.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/4.mp4</video:content_loc>
        <video:publication_date>2026-07-04T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/la-inteligencia-artificial-es-una-estafa</loc>
      <lastmod>2026-05-25</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/la-inteligencia-artificial-es-una-estafa"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/la-inteligencia-artificial-es-una-estafa"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/la-inteligencia-artificial-es-una-estafa"/>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/la-inteligencia-artificial-es-una-estafa.jpg</video:thumbnail_loc>
        <video:title>La Inteligencia Artificial es una estafa</video:title>
        <video:description>La IA no es inteligente, es lo que te han hecho creer. No piensa: hace predicciones matemáticas.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/3.mp4</video:content_loc>
        <video:publication_date>2026-05-25T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/la-inteligencia-artificial-es-una-estafa</loc>
      <lastmod>2026-05-25</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/la-inteligencia-artificial-es-una-estafa"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/la-inteligencia-artificial-es-una-estafa"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/la-inteligencia-artificial-es-una-estafa"/>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/la-inteligencia-artificial-es-una-estafa.jpg</video:thumbnail_loc>
        <video:title>Artificial intelligence is a scam</video:title>
        <video:description>AI is not intelligent, that is what you have been led to believe. It does not think: it makes mathematical predictions.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/3.mp4</video:content_loc>
        <video:publication_date>2026-05-25T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes</loc>
      <lastmod>2026-05-09</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/billionaireswar.jpg</image:loc>
        <image:caption>Billionaires War, montada entera con esta configuración</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes.jpg</video:thumbnail_loc>
        <video:title>Haz aplicaciones mientras comes, trabajas o duermes</video:title>
        <video:description>La configuración completa para crear aplicaciones gratis, sin conocimiento técnico y con todo el control desde el móvil.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/2.mp4</video:content_loc>
        <video:publication_date>2026-05-09T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes</loc>
      <lastmod>2026-05-09</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes"/>
      <image:image>
        <image:loc>https://www.franpradas.com/articles/billionaireswar.jpg</image:loc>
        <image:caption>Billionaires War, built entirely with this setup</image:caption>
      </image:image>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/haz-aplicaciones-mientras-comes-trabajas-o-duermes.jpg</video:thumbnail_loc>
        <video:title>Build apps while you eat, work or sleep</video:title>
        <video:description>The complete setup for building applications for free, with no technical knowledge and full control from your phone.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/2.mp4</video:content_loc>
        <video:publication_date>2026-05-09T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/articulos/el-desarrollo-de-software-ha-muerto</loc>
      <lastmod>2026-04-12</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/el-desarrollo-de-software-ha-muerto"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/el-desarrollo-de-software-ha-muerto"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/el-desarrollo-de-software-ha-muerto"/>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/el-desarrollo-de-software-ha-muerto.jpg</video:thumbnail_loc>
        <video:title>El desarrollo de Software ha muerto</video:title>
        <video:description>La opinión de alguien que lleva más de 10 años desarrollando y siente que esta disciplina ha perdido el alma.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/1.mp4</video:content_loc>
        <video:publication_date>2026-04-12T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.6</priority>
    </url>
    <url>
      <loc>https://www.franpradas.com/en/articulos/el-desarrollo-de-software-ha-muerto</loc>
      <lastmod>2026-04-12</lastmod>
      <xhtml:link rel="alternate" hreflang="es" href="https://www.franpradas.com/articulos/el-desarrollo-de-software-ha-muerto"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://www.franpradas.com/en/articulos/el-desarrollo-de-software-ha-muerto"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://www.franpradas.com/articulos/el-desarrollo-de-software-ha-muerto"/>
      <video:video>
        <video:thumbnail_loc>https://www.franpradas.com/og/articulos/el-desarrollo-de-software-ha-muerto.jpg</video:thumbnail_loc>
        <video:title>Software development is dead</video:title>
        <video:description>The opinion of someone who has been developing for more than 10 years and feels this discipline has lost its soul.</video:description>
        <video:content_loc>https://www.franpradas.com/articles/videos/1.mp4</video:content_loc>
        <video:publication_date>2026-04-12T00:00:00+00:00</video:publication_date>
      </video:video>
      <priority>0.5</priority>
    </url>
</urlset>