<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.blackcalb.es</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.blackcalb.es/about</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.blackcalb.es/projects</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.blackcalb.es/skills</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/contact</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://beautyglam.es/insights</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/hello-world</loc>
<lastmod>2026-02-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/building-with-nextjs</loc>
<lastmod>2026-02-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/hexagonal-architecture</loc>
<lastmod>2026-02-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/unit-vs-integration-tests-blurry-line</loc>
<lastmod>2026-03-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/six-years-of-hooks-retrospective</loc>
<lastmod>2025-11-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/full-stack-react-patterns-server-actions</loc>
<lastmod>2025-09-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-compiler-automatic-optimization-arrived</loc>
<lastmod>2025-06-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-19-production-lessons-eduplay-moneytrack</loc>
<lastmod>2025-03-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-19-stable-complete-guide</loc>
<lastmod>2024-12-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/useoptimistic-building-uis-that-feel-instant</loc>
<lastmod>2024-09-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/useactionstate-useformstatus-end-of-form-libraries</loc>
<lastmod>2024-06-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-19-beta-first-look-use-actions</loc>
<lastmod>2024-03-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/building-multi-tenant-saas-react-architecture-lessons</loc>
<lastmod>2023-11-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/accessibility-in-react-guide-i-wish-i-had</loc>
<lastmod>2023-08-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/data-fetching-without-useeffect-new-mental-model</loc>
<lastmod>2023-05-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/nextjs-app-router-server-components-real-world</loc>
<lastmod>2023-02-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/server-components-biggest-shift-since-hooks</loc>
<lastmod>2022-11-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/error-boundaries-suspense-resilient-react-apps</loc>
<lastmod>2022-09-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/suspense-useid-streaming-ssr</loc>
<lastmod>2022-07-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/usetransition-usedeferredvalue-in-practice</loc>
<lastmod>2022-04-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-18-whats-new-how-to-migrate</loc>
<lastmod>2022-02-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-18-alpha-concurrent-react-is-coming</loc>
<lastmod>2021-11-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/advanced-component-patterns-with-hooks</loc>
<lastmod>2021-09-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-typescript-stop-fighting-type-system</loc>
<lastmod>2021-07-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/testing-react-guide-i-wish-i-had</loc>
<lastmod>2021-05-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/state-management-2021-do-you-need-redux</loc>
<lastmod>2021-04-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/custom-hooks-real-power-of-hooks-model</loc>
<lastmod>2021-02-13T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/usecallback-usememo-react-memo-when-to-optimize</loc>
<lastmod>2021-01-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/useref-more-than-just-dom-references</loc>
<lastmod>2020-12-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-17-boring-release-actually-matters</loc>
<lastmod>2020-11-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/usereducer-when-usestate-isnt-enough</loc>
<lastmod>2020-10-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/usecontext-say-goodbye-to-prop-drilling</loc>
<lastmod>2020-08-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/useeffect-hook-that-trips-up-everyone</loc>
<lastmod>2020-07-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/usestate-state-management-made-simple</loc>
<lastmod>2020-06-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/understanding-react-hooks-mental-shift-from-classes</loc>
<lastmod>2020-04-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/react-2020-getting-started-right-way</loc>
<lastmod>2020-03-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/why-react-senior-developer-honest-take</loc>
<lastmod>2020-02-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/architecture</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/design-patterns</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/hexagonal-architecture</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/meta</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/nextjs</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/personal</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/react</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/typescript</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.blackcalb.es/blog/tag/web-development</loc>
<lastmod>2026-03-23T08:25:25.149Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
