<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://thiagosaraiva.dev</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/about</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/indexeddb-hidden-database-browser</loc>
<lastmod>2026-08-17T12:00:09.553Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/service-workers-browser-superpower</loc>
<lastmod>2026-08-14T12:00:13.301Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/pagination-offset-cursor-keyset-how-to-choose</loc>
<lastmod>2026-08-11T12:00:16.971Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/dynamic-scope-the-scoping-model-javascript-doesnt-use</loc>
<lastmod>2026-08-08T12:00:09.820Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/function-scope-javascript-why-var-still-causes-bugs</loc>
<lastmod>2026-08-05T12:00:09.831Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/block-formatting-context-css-explained</loc>
<lastmod>2026-08-04T13:48:11.512Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/session-timeout-why-your-session-needs-to-die</loc>
<lastmod>2026-07-30T12:00:24.206Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/csp-last-line-of-defense-configured-wrong</loc>
<lastmod>2026-07-27T12:00:22.971Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/clickjacking-x-frame-options-protection</loc>
<lastmod>2026-07-24T12:00:15.941Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/objects-sets-javascript-beyond-the-basics</loc>
<lastmod>2026-07-21T12:00:06.124Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/lexical-scope-closures-javascript</loc>
<lastmod>2026-07-18T12:00:12.494Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/higher-order-components-react-hooks</loc>
<lastmod>2026-07-15T12:00:10.907Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/functional-programming-javascript-practical-guide</loc>
<lastmod>2026-07-12T12:00:10.527Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/currying-javascript-when-to-use</loc>
<lastmod>2026-07-09T12:00:12.206Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/map-vs-object-javascript</loc>
<lastmod>2026-07-06T12:00:10.469Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/why-csrf-still-catches-developers-off-guard</loc>
<lastmod>2026-07-03T12:00:10.918Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/http1-vs-http2-practical-differences</loc>
<lastmod>2026-05-16T00:00:05.801Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/cache-busting-hashing-images</loc>
<lastmod>2026-07-02T18:35:19.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/reverse-proxy-nginx-caddy-traefik-in-practice</loc>
<lastmod>2026-07-02T18:35:42.708Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/single-tenant-vs-multi-tenant-which-architecture-for-saas</loc>
<lastmod>2026-07-02T18:35:41.152Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/fault-tolerance-building-systems-that-survive-failures</loc>
<lastmod>2026-07-02T18:35:39.216Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/load-balancing-distribute-traffic-scale-application</loc>
<lastmod>2026-07-02T18:35:37.615Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/session-tokens-digital-badge-authenticates-requests</loc>
<lastmod>2026-07-02T18:35:36.029Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/async-processing-stop-blocking-api-heavy-tasks</loc>
<lastmod>2026-07-02T18:35:33.862Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/apache-kafka-event-streaming-practical-guide</loc>
<lastmod>2026-07-02T18:35:44.417Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/rpc-in-practice-how-to-make-services-talk</loc>
<lastmod>2026-07-02T18:35:31.927Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/idempotency-the-technique-for-production-systems</loc>
<lastmod>2026-07-02T18:35:30.264Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/data-normalization-frontend-state-management</loc>
<lastmod>2026-07-02T18:35:28.331Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/polling-long-polling-when-websocket-is-overkill</loc>
<lastmod>2026-07-02T18:35:26.543Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/websockets-in-practice-handshake-to-production</loc>
<lastmod>2026-07-02T18:35:23.864Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/database-normalization-how-far-to-go-when-to-stop</loc>
<lastmod>2026-07-02T18:35:21.314Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/rate-limiting-protect-your-api-without-losing-your-mind</loc>
<lastmod>2026-07-02T18:36:15.877Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/redis-way-more-than-just-a-cache</loc>
<lastmod>2026-07-02T18:36:13.620Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/the-art-of-iteration</loc>
<lastmod>2026-07-02T18:35:48.095Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/atomic-design-in-practice-from-atoms-to-pages</loc>
<lastmod>2026-07-02T18:35:52.149Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/visual-regression-testing</loc>
<lastmod>2026-07-02T18:35:46.485Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/performance-budget-of-frontend</loc>
<lastmod>2026-07-02T18:35:55.520Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/goodbye-waterfall-the-workflow-that-puts-frontend-at-the-center</loc>
<lastmod>2026-07-02T18:35:53.729Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/case-red-hat</loc>
<lastmod>2026-07-02T18:35:57.144Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/do-you-really-need-a-javascript-framework</loc>
<lastmod>2026-07-02T18:36:03.980Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/specificity-wars-why-your-css-becomes-a-mess-and-how-to-fix-it</loc>
<lastmod>2026-07-02T18:36:01.956Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/style-guide-driven-development</loc>
<lastmod>2026-07-02T18:35:49.961Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/unit-testing-in-frontend-the-do-one-thing-well-mantra</loc>
<lastmod>2026-07-02T18:36:00.404Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/from-div-soup-to-modular-markup-the-evolution-of-html</loc>
<lastmod>2026-07-02T18:35:16.739Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/the-4-pillars-that-support-a-scalable-design-system</loc>
<lastmod>2026-07-02T18:35:58.679Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/what-does-a-frontend-architect-do-beyond-writing-code</loc>
<lastmod>2026-07-02T18:36:05.562Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/living-with-jsx</loc>
<lastmod>2026-07-02T18:36:07.178Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/get-window-size-in-pure-css</loc>
<lastmod>2026-07-02T18:36:08.680Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/web-server-from-scratch</loc>
<lastmod>2026-07-02T18:36:10.312Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thiagosaraiva.dev/content/building-space-indexing-engine</loc>
<lastmod>2026-07-02T18:36:11.960Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
