<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://diogocouto.dev</loc>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/about</loc>
<changefreq>yearly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog</loc>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/projects</loc>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/two-kinds-of-should-we-add-this-tool</loc>
<lastmod>2026-09-08T13:45:37.056Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/binding-a-port-to-loopback-instead-of-a-firewall-rule</loc>
<lastmod>2026-09-08T13:45:37.574Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/the-hour-that-went-missing-between-two-postgres-clients</loc>
<lastmod>2026-09-08T13:45:38.075Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/configuring-a-private-admin-panel-without-opening-it</loc>
<lastmod>2026-09-08T13:45:38.586Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/social-preview-images-without-a-font-file</loc>
<lastmod>2026-09-08T13:45:39.078Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/a-tag-filter-with-nothing-yet-to-filter</loc>
<lastmod>2026-09-08T13:45:39.733Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/trending-posts-from-data-already-there</loc>
<lastmod>2026-09-08T13:45:40.294Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/almost-reinventing-uptime-kuma</loc>
<lastmod>2026-09-08T13:45:41.068Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/a-public-mcp-server-with-nothing-to-leak</loc>
<lastmod>2026-09-08T13:45:41.590Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/the-default-value-that-broke-next-build</loc>
<lastmod>2026-09-08T13:45:42.078Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/an-rss-feed-nobody-could-find</loc>
<lastmod>2026-09-08T13:45:42.607Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/ai-pair-programmer-as-design-partner</loc>
<lastmod>2026-09-08T13:45:36.373Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/commit-conventions-for-a-team-of-one</loc>
<lastmod>2026-09-08T13:45:36.004Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/auto-merge-on-green-ci</loc>
<lastmod>2026-09-08T13:45:35.579Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/running-a-personal-site-on-a-hetzner-cx23</loc>
<lastmod>2026-09-08T13:45:35.211Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/serverless-postgres-with-neon</loc>
<lastmod>2026-09-08T13:45:34.849Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/dns-only-vs-proxied-cloudflare</loc>
<lastmod>2026-09-08T13:45:34.499Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/the-dollar-sign-that-broke-my-bcrypt-hash</loc>
<lastmod>2026-09-08T13:45:34.141Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/i18n-without-duplicating-content</loc>
<lastmod>2026-09-08T13:45:33.780Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/rss-feed-nextjs-app-router</loc>
<lastmod>2026-09-08T13:45:33.424Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/spec-md-source-of-truth-solo-project</loc>
<lastmod>2026-09-08T13:45:32.886Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/i-killed-an-ai-feature-before-writing-code</loc>
<lastmod>2026-09-08T13:45:32.515Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/why-my-blog-api-requires-auth-to-read</loc>
<lastmod>2026-09-08T13:45:32.061Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/blog/one-field-two-states</loc>
<lastmod>2026-09-08T13:45:36.719Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/projects/log-monitoring-displax</loc>
<lastmod>2026-09-24T09:29:18.089Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/projects/log-monitoring-youon</loc>
<lastmod>2026-09-24T09:29:18.089Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://diogocouto.dev/projects/working-agents</loc>
<lastmod>2026-09-25T08:32:50.207Z</lastmod>
<changefreq>monthly</changefreq>
</url>
</urlset>
