<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://mehdidiouri.dev</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/about</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/lab</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/contact</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/uses</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/cv</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/privacy-policy</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/cookie-policy</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/terms-of-service</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/automating-short-form-video-pipeline-python</loc>
<lastmod>2026-07-15T00:58:55.764Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/building-a-system-driven-portfolio</loc>
<lastmod>2026-07-15T00:58:55.776Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/building-privacy-first-self-hosted-finance-manager</loc>
<lastmod>2026-07-15T00:58:55.785Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/building-real-estate-platform-moroccan-market</loc>
<lastmod>2026-07-15T00:58:55.795Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/building-self-hosted-developer-portfolio-nextjs-prisma-docker</loc>
<lastmod>2026-07-15T00:58:55.806Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/building-tastify-real-time-restaurant-erp-sentiment-analysis</loc>
<lastmod>2026-07-15T00:58:55.816Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/deploy-private-ghcr-docker-image-ubuntu-vps</loc>
<lastmod>2026-07-15T00:58:55.825Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/designing-idempotent-prisma-seed-production</loc>
<lastmod>2026-07-15T00:58:55.834Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/designing-industrial-barcode-traceability-aspnet-core</loc>
<lastmod>2026-07-15T00:58:55.843Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/fix-ssh-private-key-permissions-windows</loc>
<lastmod>2026-07-15T00:58:55.852Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/nextjs-sqlite-docker-persistent-volume</loc>
<lastmod>2026-07-15T00:58:55.860Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/production-readiness-checklist-student-full-stack-projects</loc>
<lastmod>2026-07-15T00:58:55.869Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/using-ai-coding-agents-without-breaking-codebase</loc>
<lastmod>2026-07-15T00:58:55.878Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/monorepos-vs-polyrepos-choosing-the-right-structure-for-your-project</loc>
<lastmod>2026-07-15T03:06:44.719Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/why-every-developer-should-understand-database-indexing</loc>
<lastmod>2026-07-24T02:02:57.151Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/typescript-generics-a-practical-guide-without-the-theory-overload</loc>
<lastmod>2026-07-24T11:04:14.096Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/authentication-vs-authorization-clearing-the-confusion</loc>
<lastmod>2026-07-24T11:53:58.490Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/http-status-codes-the-ones-you-actually-need-to-know</loc>
<lastmod>2026-07-24T12:20:50.498Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/why-sqlite-is-a-better-choice-than-you-think-for-web-apps</loc>
<lastmod>2026-07-24T12:45:41.833Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/typescript-generics-a-practical-guide-without-the-theory-overload-1</loc>
<lastmod>2026-07-24T13:25:28.703Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/container-orchestration-without-kubernetes-docker-compose-in-production</loc>
<lastmod>2026-07-24T13:36:13.909Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/websockets-vs-server-sent-events-vs-polling-when-to-use-what</loc>
<lastmod>2026-07-24T13:43:08.100Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/typescript-generics-a-practical-guide-without-the-theory-overload-2</loc>
<lastmod>2026-07-26T22:33:15.691Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/the-hidden-cost-of-n-1-queries-in-web-applications</loc>
<lastmod>2026-07-26T22:33:03.753Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/why-your-ci-cd-pipeline-should-run-the-same-commands-as-your-laptop</loc>
<lastmod>2026-07-26T22:32:49.651Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/why-every-developer-should-understand-database-indexing-1</loc>
<lastmod>2026-07-26T22:33:09.737Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/linux-commands-every-developer-should-know-by-heart</loc>
<lastmod>2026-07-26T22:33:23.733Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/rest-api-design-principles-every-developer-should-know</loc>
<lastmod>2026-07-26T22:32:56.042Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/environment-variables-the-right-way-to-handle-configuration</loc>
<lastmod>2026-07-26T22:32:43.028Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/docker-volumes-explained-why-your-data-disappears</loc>
<lastmod>2026-07-28T00:04:02.683Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/why-your-ci-cd-pipeline-should-run-the-same-commands-as-your-laptop-1</loc>
<lastmod>2026-07-28T00:03:54.612Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/why-sqlite-is-a-better-choice-than-you-think-for-web-apps-1</loc>
<lastmod>2026-07-28T11:15:45.437Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/blog/ssh-keys-explained-from-generation-to-deployment</loc>
<lastmod>2026-07-28T11:15:39.586Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/tastify-restaurant-erp-sentiment-analysis</loc>
<lastmod>2026-07-24T09:45:57.013Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/industrial-box-package-tracking-system</loc>
<lastmod>2026-07-24T09:46:40.757Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/immobilier-diouri-real-estate-platform</loc>
<lastmod>2026-07-14T22:34:01.575Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/jobtech-ai-assisted-recruitment-platform</loc>
<lastmod>2026-07-14T22:34:01.587Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/depanceapp-self-hosted-personal-finance-manager</loc>
<lastmod>2026-07-24T09:47:50.815Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/emsee-real-time-social-network</loc>
<lastmod>2026-07-14T22:34:01.607Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/automated-short-form-video-generator</loc>
<lastmod>2026-07-24T09:56:06.831Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/dentalhub-dental-clinic-domain-system</loc>
<lastmod>2026-07-14T22:34:01.626Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mehdidiouri.dev/projects/rock-paper-scissors-c-console-game</loc>
<lastmod>2026-07-14T22:34:01.634Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
