<?xml version="1.0" encoding="UTF-8"?>
<urlset
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
            http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<!-- Sitemap for francobosg.netlify.app -->

<!-- Páginas principales -->
<url>
  <loc>https://francobosg.netlify.app/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>1.00</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.90</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/herramientas/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/servicios/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.75</priority>
</url>

<!-- Herramientas interactivas -->
<url>
  <loc>https://francobosg.netlify.app/blog/herramientas/generador-prompts/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.75</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/herramientas/comparador-precios/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.75</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/herramientas/traductor-errores/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.75</priority>
</url>

<!-- Errores programáticos -->
<url>
  <loc>https://francobosg.netlify.app/blog/errores/err-module-not-found-nodejs/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/cors-access-control-allow-origin/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/enoent-no-such-file-directory-nodejs/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/command-build-failed-exit-code-1-netlify-vercel/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/failed-to-resolve-import-vite/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/hydration-mismatch-react-nextjs/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/terminal-process-failed-to-launch-vscode/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/npm-err-code-eresolve-peer-dependency/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/cannot-use-import-statement-outside-module/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/eaddrinuse-address-already-in-use/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/invalid-hook-call-react/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/each-child-unique-key-prop-react/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/uncaught-typeerror-is-not-a-function/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/maximum-call-stack-size-exceeded/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/git-push-rejected-non-fast-forward/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/fetch-is-not-defined-nodejs/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/typescript-cannot-find-module/</loc>
  <lastmod>2026-05-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/unexpected-token-less-than-javascript/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/cannot-destructure-property-undefined/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/unhandled-promise-rejection/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/syntax-error-unexpected-end-json/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/err-require-esm-nodejs/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/express-cannot-get-route/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/typescript-type-not-assignable/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/git-merge-conflict/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/econnrefused-database-connection/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/localstorage-is-not-defined-nextjs/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/next-image-invalid-src-hostname/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/git-detached-head-state/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/npm-missing-script/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/react-setstate-during-render/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/async-await-foreach-not-working/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/env-variables-undefined-nextjs/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/prisma-unique-constraint-failed/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/tailwind-classes-not-working/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/jwt-secret-must-have-value/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/typescript-cannot-find-process-node/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/docker-cannot-connect-daemon/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/python-modulenotfounderror-no-module-named/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/github-actions-process-exit-code-1/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/mongodb-e11000-duplicate-key-error/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/vue-property-not-defined-on-instance/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/postgresql-password-authentication-failed/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/webpack-module-not-found-cant-resolve/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/bash-command-not-found/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/supabase-row-level-security-policy-violation/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/eslint-parsing-error-cannot-find-module/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/css-z-index-not-working/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/redis-wrongtype-operation-wrong-kind-value/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/graphql-cannot-query-field-on-type/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/kubernetes-crashloopbackoff-back-off-restarting/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/aws-accessdenied-not-authorized-to-perform/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/laravel-target-class-does-not-exist/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/django-operationalerror-no-such-table/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/nginx-502-bad-gateway-configuration/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/mysql-error-1045-access-denied-user/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/go-panic-runtime-error-index-out-of-range/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/rust-cannot-borrow-as-mutable-immutable-borrowed/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>

<!-- Artículos del blog -->
<url>
  <loc>https://francobosg.netlify.app/blog/agente-ia-bucle-infinito-cline-cursor-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/aider-ia-terminal-barata-alternativa-cursor-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/alternativas-gratis-chatgpt-2026/</loc>
  <lastmod>2026-01-28T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/animaciones-framer-motion-premium-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/aprender-ingles-para-developers-2026/</loc>
  <lastmod>2026-03-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/auth-js-nextauth-implementacion-real-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/automatizar-tareas-ia-n8n-make-2026/</loc>
  <lastmod>2026-02-24T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/banner-cookies-rgpd-implementacion-correcta-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/calculadora-precios-ia-2026/</loc>
  <lastmod>2026-03-18T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-gps-flota-vehiculos-dolibarr/</loc>
  <lastmod>2026-04-06T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-ia-reuniones-gemini-supabase/</loc>
  <lastmod>2026-04-08T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-iot-sensores-esp32-dolibarr/</loc>
  <lastmod>2026-04-07T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-modulo-comisiones-dolibarr/</loc>
  <lastmod>2026-04-05T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-saas-atrapaclientes-nestjs-react/</loc>
  <lastmod>2026-04-09T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caveman-prompting-ahorrar-tokens-ia-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cheat-sheet-css-grid-flexbox-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/claude-vs-gpt-programar-python-2026/</loc>
  <lastmod>2026-03-24T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/comandos-git-esenciales-2026/</loc>
  <lastmod>2026-04-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/como-hice-mi-portfolio-vite-tailwind/</loc>
  <lastmod>2026-01-15T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/conectar-java-mysql-jdbc-tutorial-2026/</loc>
  <lastmod>2026-04-02T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/construir-saas-2026-lo-que-nadie-te-cuenta/</loc>
  <lastmod>2026-04-23T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/context-window-ia-como-aprovecharlo-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/coolify-self-hosting-deploy-sin-devops-2026/</loc>
  <lastmod>2026-04-23T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cors-nodejs-express-configuracion-produccion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/crear-agente-ia-langchain-nodejs-tutorial/</loc>
  <lastmod>2026-03-02T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/crear-chatbot-rag-openai-tutorial-2026/</loc>
  <lastmod>2026-02-11T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cursor-pro-vs-copilot-vale-la-pena-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cursor-vs-copilot-vs-windsurf-2026/</loc>
  <lastmod>2026-03-10T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/deploy-gratis-github-actions-netlify-vercel-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/docker-para-developers-guia-practica-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/error-429-too-many-requests-api-ia-2026/</loc>
  <lastmod>2026-04-10T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/error-context-length-exceeded-openai-claude-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores-comunes-ia-vscode-copilot-cline-2026/</loc>
  <lastmod>2026-04-11T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/estructura-carpetas-react-nextjs-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/function-calling-openai-claude-conectar-ia-apis-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/git-merge-conflict-codigo-ia-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/guia-estudiantes-daw-dam-smr-2026/</loc>
  <lastmod>2026-03-30T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ia-alucina-paquetes-npm-no-existen-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ia-codigo-incompleto-lazy-coding-solucion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ia-para-revisar-pull-requests-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ideas-proyecto-final-daw-dam-2026/</loc>
  <lastmod>2026-04-04T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/landing-pages-tailwind-ejemplos-codigo-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/mcp-servers-cursor-copilot-que-son-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/mejores-ia-generar-imagenes-2026/</loc>
  <lastmod>2026-02-04T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/mejores-ia-para-transcribir-2026/</loc>
  <lastmod>2026-02-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/mejores-modelos-ia-para-programar-2026/</loc>
  <lastmod>2026-03-14T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/mejores-prompts-programar-ia-2026/</loc>
  <lastmod>2026-03-21T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/migracion-react-astro-rendimiento-lighthouse-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ollama-ia-local-gratis-sin-api-2026/</loc>
  <lastmod>2026-04-12T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/parsear-json-ia-sin-errores-openai-claude-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/por-que-deje-redux-alternativas-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/por-que-nestjs-sobre-express-saas-2026/</loc>
  <lastmod>2026-04-14T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/portfolio-profesional-a-medida-desarrollador-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/prettier-no-formatea-guardar-vscode-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/programar-con-ia-sin-arruinarte-guia-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/prompt-caching-openai-claude-ahorrar-tokens-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/proteger-api-nodejs-jwt-auth-guia-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/react-19-novedades-que-cambian-tu-codigo-2026/</loc>
  <lastmod>2026-04-23T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/repos-github-desarrolladores-ia-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/sobre-mi-fran-cobos-desarrollador-fullstack-ia/</loc>
  <lastmod>2026-01-22T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/streaming-sse-chatgpt-claude-nodejs-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/supabase-vs-firebase-experiencia-produccion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/testear-codigo-generado-ia-copilot-cursor-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tsserver-consume-cpu-vscode-solucion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/usar-api-chatgpt-claude-gratis-2026/</loc>
  <lastmod>2026-03-06T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/vercel-vs-vps-coste-real-nextjs-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/vibe-coding-bien-mal-experiencia-real-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<!-- Artículos nuevos abril 2026 -->
<url>
  <loc>https://francobosg.netlify.app/blog/coolify-self-hosting-deploy-sin-devops-2026/</loc>
  <lastmod>2026-04-23T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/react-19-novedades-que-cambian-tu-codigo-2026/</loc>
  <lastmod>2026-04-23T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/construir-saas-2026-lo-que-nadie-te-cuenta/</loc>
  <lastmod>2026-04-23T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<!-- IA avanzada 2026 -->
<url>
  <loc>https://francobosg.netlify.app/blog/mcp-servers-cursor-copilot-que-son-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/vibe-coding-bien-mal-experiencia-real-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/context-window-ia-como-aprovecharlo-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ia-para-revisar-pull-requests-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<!-- Artículos nuevos abril 2026 - batch 2 -->
<url>
  <loc>https://francobosg.netlify.app/blog/typescript-para-javascript-developers-guia-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/nextjs-vs-remix-cual-elegir-proyecto-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/postgresql-vs-mysql-cual-elegir-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/variables-de-entorno-nodejs-nextjs-guia-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>

<!-- Portfolios a medida -->
<url>
  <loc>https://francobosg.netlify.app/blog/portfolio-profesional-a-medida-desarrollador-2026/</loc>
  <lastmod>2026-04-27T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<!-- Servicios -->
<url>
  <loc>https://francobosg.netlify.app/blog/servicios/</loc>
  <lastmod>2026-04-14T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.90</priority>
</url>
<!-- Casos reales y arquitectura -->
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-saas-atrapaclientes-nestjs-react/</loc>
  <lastmod>2026-04-09T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-ia-reuniones-gemini-supabase/</loc>
  <lastmod>2026-04-21T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/por-que-nestjs-sobre-express-saas-2026/</loc>
  <lastmod>2026-04-14T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-gps-flota-vehiculos-dolibarr/</loc>
  <lastmod>2026-04-06T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-iot-sensores-esp32-dolibarr/</loc>
  <lastmod>2026-04-07T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caso-real-modulo-comisiones-dolibarr/</loc>
  <lastmod>2026-04-05T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<!-- Sobre mí -->
<url>
  <loc>https://francobosg.netlify.app/blog/sobre-mi-fran-cobos-desarrollador-fullstack-ia/</loc>
  <lastmod>2026-01-22T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.90</priority>
</url>
<!-- Nuevos artículos abril 2026 -->
<url>
  <loc>https://francobosg.netlify.app/blog/parsear-json-ia-sin-errores-openai-claude-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/error-context-length-exceeded-openai-claude-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/streaming-sse-chatgpt-claude-nodejs-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/function-calling-openai-claude-conectar-ia-apis-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/testear-codigo-generado-ia-copilot-cursor-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/caveman-prompting-ahorrar-tokens-ia-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/repos-github-desarrolladores-ia-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/programar-con-ia-sin-arruinarte-guia-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/aider-ia-terminal-barata-alternativa-cursor-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/prompt-caching-openai-claude-ahorrar-tokens-2026/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<!-- Nuevos artículos abril 2026 (20/04) -->
<url>
  <loc>https://francobosg.netlify.app/blog/docker-para-developers-guia-practica-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/proteger-api-nodejs-jwt-auth-guia-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/deploy-gratis-github-actions-netlify-vercel-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<!-- Páginas de tags -->
<url>
  <loc>https://francobosg.netlify.app/blog/tag/ia/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/tutorial/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/herramientas/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/c%C3%B3digo/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/gratis/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/caso%20real/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/arquitectura/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.60</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/langchain/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/nestjs/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/typescript/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/saas/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/docker/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/python/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/php/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/dolibarr/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/iot/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/react/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/automatizaci%C3%B3n/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/productividad/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/soft%20skills/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/gemini/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/supabase/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/arduino/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/esp32/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/hardware/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/postgresql/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/mysql/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/erp/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/gps/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/leaflet/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/express/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/backend/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/full-stack/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/sobre%20m%C3%AD/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/carrera/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tag/aprendizaje/</loc>
  <lastmod>2026-04-17T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.50</priority>
</url>
<!-- Errores — Fase 2 (abril 2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/errores/hydration-mismatch-react-nextjs/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/failed-to-resolve-import-vite/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/terminal-process-failed-to-launch-vscode/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/command-build-failed-exit-code-1-netlify-vercel/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<!-- Posts — Fase 2 (abril 2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/ia-codigo-incompleto-lazy-coding-solucion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/agente-ia-bucle-infinito-cline-cursor-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/ia-alucina-paquetes-npm-no-existen-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/prettier-no-formatea-guardar-vscode-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tsserver-consume-cpu-vscode-solucion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/git-merge-conflict-codigo-ia-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<!-- Fase 4 — Comparativas, Visual, Arquitectura, Legal (abril 2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/supabase-vs-firebase-experiencia-produccion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cursor-pro-vs-copilot-vale-la-pena-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/vercel-vs-vps-coste-real-nextjs-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/por-que-deje-redux-alternativas-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/landing-pages-tailwind-ejemplos-codigo-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cheat-sheet-css-grid-flexbox-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/animaciones-framer-motion-premium-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/estructura-carpetas-react-nextjs-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/auth-js-nextauth-implementacion-real-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/migracion-react-astro-rendimiento-lighthouse-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/banner-cookies-rgpd-implementacion-correcta-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/cors-nodejs-express-configuracion-produccion-2026/</loc>
  <lastmod>2026-04-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.80</priority>
</url>

<!-- Errores — Fase 3 (2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/errores/cannot-read-properties-of-undefined-react/</loc>
  <lastmod>2026-03-10T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/objects-are-not-valid-react-child/</loc>
  <lastmod>2026-03-12T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/too-many-re-renders-react/</loc>
  <lastmod>2026-03-15T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/eacces-permission-denied-npm/</loc>
  <lastmod>2026-02-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/errores/prisma-client-did-not-initialize/</loc>
  <lastmod>2026-04-01T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.70</priority>
</url>

<!-- Posts — Fase 3: tutoriales (2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/enviar-emails-nodejs-nodemailer-resend-2026/</loc>
  <lastmod>2026-03-05T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/stripe-webhooks-nextjs-implementacion-2026/</loc>
  <lastmod>2026-04-02T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/subir-archivos-s3-cloudinary-nodejs-2026/</loc>
  <lastmod>2026-03-18T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/websockets-socketio-nodejs-react-2026/</loc>
  <lastmod>2026-02-15T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/prisma-desde-cero-tutorial-completo-2026/</loc>
  <lastmod>2026-02-28T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>

<!-- Posts — Fase 3: comparativas (2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/prisma-vs-drizzle-orm-2026/</loc>
  <lastmod>2026-03-25T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/bun-vs-nodejs-produccion-2026/</loc>
  <lastmod>2026-04-10T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/shadcn-ui-guia-completa-espanol-2026/</loc>
  <lastmod>2026-03-08T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tanstack-query-v5-tutorial-2026/</loc>
  <lastmod>2026-02-10T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>

<!-- Posts — Fase 3: empleo y carrera (2026) -->
<url>
  <loc>https://francobosg.netlify.app/blog/sueldo-desarrollador-web-espana-2026/</loc>
  <lastmod>2026-04-15T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/conseguir-trabajo-programador-sin-experiencia-espana-2026/</loc>
  <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/trabajo-remoto-developers-como-encontrar-2026/</loc>
  <lastmod>2026-04-08T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/tailwind-css-v4-guia-migracion-2026/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/python-para-javascript-developers-2026/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/react-native-vs-flutter-expo-2026/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/nextjs-15-novedades-guia-completa-2026/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>
<url>
  <loc>https://francobosg.netlify.app/blog/bot-telegram-ia-nodejs-2026/</loc>
  <lastmod>2026-04-29T00:00:00+00:00</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.85</priority>
</url>

</urlset>