<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://buildingbibby.hashnode.dev</loc>
    <lastmod>2026-09-10T20:32:15.561Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/closing-the-loop-proxy-aware-rate-limiting-with-x-forwarded-for</loc>
    <lastmod>2026-03-06T06:06:07.859Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/token-buckets-api-keys-and-the-bug-that-rate-limited-the-server</loc>
    <lastmod>2026-03-06T04:41:53.330Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/how-i-enforced-hexagonal-boundaries-across-92-commits-in-one-week</loc>
    <lastmod>2026-03-02T20:36:47.353Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/hollowing-out-a-facade-completing-the-use-case-port-extraction</loc>
    <lastmod>2026-03-02T19:06:34.373Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/one-method-is-enough-extracting-a-use-case-port-for-cross-module-deletion</loc>
    <lastmod>2026-03-02T01:03:31.221Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/when-your-interface-knows-too-much-splitting-shelffacade-on-the-query-command-axis</loc>
    <lastmod>2026-02-28T18:10:00.553Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/eight-files-for-one-operation-why-the-placement-module-had-to-go</loc>
    <lastmod>2026-02-27T23:51:46.718Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/three-fixes-that-should-have-been-there-from-the-start</loc>
    <lastmod>2026-02-27T18:04:37.244Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/sealing-the-boundary-shelffacade-now-imports-zero-domain-types</loc>
    <lastmod>2026-02-25T16:35:55.390Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-second-migration-is-nearly-free-completing-shelffacade-s-list-query-contract</loc>
    <lastmod>2026-02-25T15:21:16.252Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/ports-should-define-their-own-types-introducing-the-shelfresponse-port-model</loc>
    <lastmod>2026-02-24T23:45:38.268Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-adapter-was-in-the-wrong-module-fixing-shelf-s-cross-module-boundary</loc>
    <lastmod>2026-02-24T17:00:50.729Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/when-a-passing-test-is-lying-to-you-fixing-two-production-bugs-in-the-bookcase-module</loc>
    <lastmod>2026-02-24T14:24:10.128Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/rescuing-an-anemic-domain-model-the-bookcase-refactor</loc>
    <lastmod>2026-02-24T07:18:02.317Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-second-module-is-where-a-pattern-proves-itself-decoupling-bookcase-from-shelf</loc>
    <lastmod>2026-02-24T02:59:17.463Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/when-your-controller-became-a-bounded-context-nightmare-fixing-a-50-line-violation</loc>
    <lastmod>2026-02-24T01:18:00.948Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/one-week-34-prs-85-commits-and-a-codebase-that-finally-means-what-it-says</loc>
    <lastmod>2026-02-23T00:36:48.016Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/validation-belongs-in-the-domain-model-eliminating-duplicate-guards-across-three-layers</loc>
    <lastmod>2026-02-22T23:31:39.706Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/why-findallshelves-long-bookcaseid-is-a-lie-and-what-i-renamed-it-to</loc>
    <lastmod>2026-02-21T14:36:18.881Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/from-fat-service-to-use-cases-extracting-the-shelf-application-layer</loc>
    <lastmod>2026-02-20T18:48:05.460Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/dead-code-duplicate-methods-and-a-jpql-query-that-crossed-module-lines</loc>
    <lastmod>2026-02-20T17:53:22.389Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-purge-of-dtos-from-the-core-a-domain-driven-refactor</loc>
    <lastmod>2026-02-19T23:24:04.175Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/two-mappers-zero-layer-violations-fixing-my-hexagonal-architecture</loc>
    <lastmod>2026-02-19T20:04:17.448Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/moving-ports-to-core-enforcing-hexagonal-architecture-boundaries-in-java</loc>
    <lastmod>2026-02-19T17:37:31.006Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/building-bibby-shipping-an-add-bookcase-page-and-cleaning-up-my-frontend-along-the-way</loc>
    <lastmod>2026-01-27T02:33:30.039Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-day-a-unit-test-saved-my-bookcase-from-being-shelf-less</loc>
    <lastmod>2026-01-24T21:39:09.964Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/devlog-bookcases-ui-polish-pass-cards-actions-progress</loc>
    <lastmod>2026-01-22T19:40:21.512Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-day-i-stopped-returning-success-and-started-returning-ids</loc>
    <lastmod>2026-01-22T19:06:32.720Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/devlog-user-registration-domain-refactoring</loc>
    <lastmod>2026-01-21T06:00:44.371Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/i-renamed-my-registration-dtos-and-my-codebase-immediately-felt-calmer</loc>
    <lastmod>2026-01-21T02:51:50.439Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/stop-leaking-your-dtos-into-your-service-layer</loc>
    <lastmod>2026-01-21T03:02:20.297Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-feature-that-taught-me-to-stop-saving-data-i-didnt-need-yet</loc>
    <lastmod>2026-01-18T06:05:41.594Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/when-uptime-monitoring-meets-cold-starts-debugging-bibby-on-flyio</loc>
    <lastmod>2026-01-14T20:31:36.105Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/when-it-worked-yesterday-meets-reality-debugging-a-flyio-outage-in-real-time</loc>
    <lastmod>2026-01-14T17:08:55.071Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/securing-bibby-a-step-by-step-guide-to-spring-security-and-user-registration-integration</loc>
    <lastmod>2026-01-11T22:45:03.555Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/building-a-cicd-pipeline-that-actually-respects-your-codebase</loc>
    <lastmod>2026-01-08T22:14:31.705Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-big-blue-b</loc>
    <lastmod>2025-12-30T21:05:23.143Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/making-duplicates-intentional-a-lesson-in-pragmatic-design</loc>
    <lastmod>2025-12-24T19:54:00.631Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/the-art-of-shipping-small-building-a-book-edit-flow-in-one-session</loc>
    <lastmod>2025-12-23T19:42:16.405Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/how-i-predicted-my-own-bug-taming-nulls-in-the-google-books-api</loc>
    <lastmod>2025-12-22T21:11:55.034Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/designing-for-the-barcode-that-wont-scan</loc>
    <lastmod>2025-12-22T02:24:32.268Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/decomposing-a-god-class-a-refactoring-story</loc>
    <lastmod>2025-12-20T21:54:34.146Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/cancel-is-not-an-error</loc>
    <lastmod>2025-12-18T19:51:27.187Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/devlog-display-book-details-before-add-confirmation-cli-ux-slice</loc>
    <lastmod>2025-12-18T16:22:05.698Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/devlog-author-resolution-at-the-cli-layer-during-book-import-pr-116</loc>
    <lastmod>2025-12-15T19:08:00.123Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/archive</loc>
    <lastmod>2026-09-10T20:32:15.561Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://buildingbibby.hashnode.dev/recommendations</loc>
    <lastmod>2026-09-10T20:32:15.561Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>