<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://zakariyazouazou.com</loc>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/about</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/work</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/archive</loc>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs</loc>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/contact</loc>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/my-site-worked-everywhere-except-my-own-internet</loc>
<lastmod>2026-11-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/when-imgur-goes-down-my-server-should-not</loc>
<lastmod>2026-11-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/deploys-that-cant-hang-or-lose-data</loc>
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/mapping-pipeline-any-sql-or-json-to-dropdown-options</loc>
<lastmod>2026-11-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/letting-users-write-sql-safely</loc>
<lastmod>2026-11-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/did-the-data-really-change-canonical-json-hashing</loc>
<lastmod>2026-11-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/transient-vs-permanent-errors-public-api</loc>
<lastmod>2026-11-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/a-32-mb-javascript-chunk</loc>
<lastmod>2026-11-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/stop-querying-live-stored-results-nightly-sync</loc>
<lastmod>2026-11-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/the-black-screen-one-failed-texture</loc>
<lastmod>2026-11-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/one-pool-per-database-one-budget-per-server</loc>
<lastmod>2026-10-31T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/random-nulls-silent-failures-shared-database</loc>
<lastmod>2026-10-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/one-engine-many-services-microservices</loc>
<lastmod>2026-10-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/keeping-a-local-copy-of-users-from-another-service</loc>
<lastmod>2026-10-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/uniqueness-across-two-tables-postgres</loc>
<lastmod>2026-10-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/postgres-prisma-in-docker-safe-migrations-on-start</loc>
<lastmod>2026-10-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/reordering-a-tree-with-deferrable-constraints</loc>
<lastmod>2026-10-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/the-node-modules-volume-trick-docker</loc>
<lastmod>2026-10-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/revoking-a-session-before-the-jwt-expires</loc>
<lastmod>2026-10-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/where-the-data-lives-docker-volumes-postgres</loc>
<lastmod>2026-10-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/one-command-a-whole-stack-docker-compose</loc>
<lastmod>2026-10-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/owners-group-owners-claim-on-write</loc>
<lastmod>2026-10-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/deploying-nextjs-under-a-sub-path-basepath-gotchas</loc>
<lastmod>2026-10-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/a-ui-that-prevents-mistakes-before-the-backend-refuses</loc>
<lastmod>2026-10-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/cleaning-up-locks-when-users-disconnect</loc>
<lastmod>2026-10-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/react-query-structure-hierarchical-keys</loc>
<lastmod>2026-10-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/two-users-one-configurator-redis-websocket-locks</loc>
<lastmod>2026-10-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/401-vs-403-what-the-frontend-should-do</loc>
<lastmod>2026-10-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/prisma-ignored-my-connection-limit</loc>
<lastmod>2026-10-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/too-many-clients-one-export-3200-queries</loc>
<lastmod>2026-10-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/draft-and-save-not-save-on-click</loc>
<lastmod>2026-10-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/designing-an-admin-panel-for-dangerous-actions</loc>
<lastmod>2026-10-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/logging-in-through-an-erp-with-a-one-time-nonce</loc>
<lastmod>2026-10-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/turning-off-an-app-without-breaking-anything</loc>
<lastmod>2026-10-13T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/server-to-server-tokens-with-exact-permissions</loc>
<lastmod>2026-10-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/making-an-admin-change-apply-everywhere-immediately</loc>
<lastmod>2026-10-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/permissions-the-apps-declare-themselves</loc>
<lastmod>2026-10-09T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/groups-by-department-access-in-one-click</loc>
<lastmod>2026-10-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/one-user-one-group-why-we-removed-multiple-groups</loc>
<lastmod>2026-10-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/the-cookie-that-logged-you-out-of-the-other-app</loc>
<lastmod>2026-10-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/blogs/one-login-many-apps-central-auth-service</loc>
<lastmod>2026-10-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=FLW0q</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=FLW0q232</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=WIN01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=GF01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=FLW0q231</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=FLW0q234</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=PRB01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=MB01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=NR01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=BAC01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=PRV01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=NR02</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=LH0012</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=FLW0q233</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=LR04</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=LR06</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=LR06UIOC</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=LR05</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=FLW0q12</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=LR022</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=R01</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=NR04</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=NR03</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=P03</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=O02</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=P05</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=MY06</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=W07</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=S08</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=PR11</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=OP13</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://zakariyazouazou.com/workDetails?projectId=OP14</loc>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
