<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  
  <!-- Homepage - Highest Priority -->
  <url>
    <loc>https://www.otmanetahri.com/</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/profile-img.jpg</image:loc>
      <image:title>Otmane Tahri - Full Stack Engineer</image:title>
      <image:caption>Senior Full Stack Engineer specializing in Angular, Node.js, AI &amp; Automation</image:caption>
    </image:image>
  </url>

  <!-- About Section -->
  <url>
    <loc>https://www.otmanetahri.com/#AboutMe</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Skills Section - Important for "hire developer with skill X" searches -->
  <url>
    <loc>https://www.otmanetahri.com/#Skills</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Experiences Section - Important for credibility -->
  <url>
    <loc>https://www.otmanetahri.com/#Experiences</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Services Section -->
  <url>
    <loc>https://www.otmanetahri.com/#Services</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Projects Section -->
  <url>
    <loc>https://www.otmanetahri.com/#Projects</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Blog Section on Homepage -->
  <url>
    <loc>https://www.otmanetahri.com/#Blog</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Testimonials Section -->
  <url>
    <loc>https://www.otmanetahri.com/#Testimonials</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Contact Section -->
  <url>
    <loc>https://www.otmanetahri.com/#Contact</loc>
    <lastmod>2026-02-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Projects list -->
  <url>
    <loc>https://www.otmanetahri.com/projects</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Project detail pages -->
  <url>
    <loc>https://www.otmanetahri.com/projects/federal-contracting-operations-platform</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/talearntmed-ai</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/opsvoid-website</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/agedcare-platform</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/secure-asset-compass</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/create-issue-github</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/gymsales-ai-automation</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://www.otmanetahri.com/projects/lango-way</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>

  <!-- Blog List Page -->
  <url>
    <loc>https://www.otmanetahri.com/blog</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/profile-img.jpg</image:loc>
      <image:title>Otmane Tahri Tech Blog</image:title>
      <image:caption>JavaScript, Angular, Node.js tutorials and web development articles</image:caption>
    </image:image>
  </url>

  <!-- Blog Detail Pages - High Priority for Search Rankings -->
  
  <!-- Event-Driven Architecture Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=eventDriven</loc>
    <lastmod>2024-08-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/event-driven.png</image:loc>
      <image:title>Event-Driven Order Processing System Using Node.js and Express.js</image:title>
      <image:caption>Tutorial on building event-driven architecture with Node.js</image:caption>
    </image:image>
  </url>

  <!-- ES6 JavaScript Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=es6</loc>
    <lastmod>2024-08-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/es6.png</image:loc>
      <image:title>JavaScript ECMAScript 6 Features</image:title>
      <image:caption>Learn ES6 features and modern JavaScript syntax</image:caption>
    </image:image>
  </url>

  <!-- JWT Authentication Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=jwt</loc>
    <lastmod>2024-08-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/jwt.png</image:loc>
      <image:title>JWT Authentication with Cookies in Node.js</image:title>
      <image:caption>Implement secure JWT authentication in Express.js</image:caption>
    </image:image>
  </url>

  <!-- Clean Code Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=cleanCode</loc>
    <lastmod>2024-09-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/cleanCode.jpg</image:loc>
      <image:title>Simple Clean Code Tips</image:title>
      <image:caption>Best practices for writing clean and maintainable code</image:caption>
    </image:image>
  </url>

  <!-- OOP JavaScript Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=oop-javascript</loc>
    <lastmod>2024-09-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/oop-javascript.png</image:loc>
      <image:title>Object-Oriented Programming in JavaScript</image:title>
      <image:caption>Learn OOP concepts in JavaScript with examples</image:caption>
    </image:image>
  </url>

  <!-- SOLID Principles Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=solid-principles</loc>
    <lastmod>2024-09-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/solid-principal.png</image:loc>
      <image:title>SOLID Principles in Programming</image:title>
      <image:caption>Understand SOLID principles with real-life examples</image:caption>
    </image:image>
  </url>

  <!-- Angular Pipes Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=pipeAngular</loc>
    <lastmod>2024-10-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/pipeAngular.png</image:loc>
      <image:title>Angular Pipes Practical Guide</image:title>
      <image:caption>Boost your Angular app with custom pipes</image:caption>
    </image:image>
  </url>

  <!-- Send Emails Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=send-emails</loc>
    <lastmod>2024-11-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/sendEmail.png</image:loc>
      <image:title>Send Emails in Express.js with Nodemailer</image:title>
      <image:caption>SMTP and Email API methods explained</image:caption>
    </image:image>
  </url>

  <!-- Reactive Forms Angular Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=reactive-form-angular</loc>
    <lastmod>2024-12-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/angular-form.png</image:loc>
      <image:title>Building Dynamic Forms in Angular</image:title>
      <image:caption>Master FormGroup, FormControl, FormBuilder, and FormArray</image:caption>
    </image:image>
  </url>

  <!-- Query Caching with Redis Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=cache</loc>
    <lastmod>2025-02-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/cache.png</image:loc>
      <image:title>Optimizing API Performance with Redis Query Caching</image:title>
      <image:caption>Implement query caching with Redis, Express, and SQLite in Node.js</image:caption>
    </image:image>
  </url>

  <!-- Unit Test & Integration Test in Express.js Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=testing</loc>
    <lastmod>2026-02-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/test.png</image:loc>
      <image:title>Unit Test &amp; Integration Test in Express.js</image:title>
      <image:caption>Unit and integration testing with Jest and Supertest in Express.js</image:caption>
    </image:image>
  </url>

  <!-- Multithreading in Node.js (Express.js) Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=Multithreading</loc>
    <lastmod>2026-02-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/multiThreads.jpg</image:loc>
      <image:title>Multithreading in Node.js (Express.js)</image:title>
      <image:caption>Worker Threads and concurrent execution in Node.js and Express.js for full stack engineers</image:caption>
    </image:image>
  </url>

  <!-- MVC Design Pattern Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=mvc</loc>
    <lastmod>2026-02-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/mvc.jpg</image:loc>
      <image:title>MVC Design Pattern: A Simplified Explanation</image:title>
      <image:caption>Model-View-Controller in JavaScript for software engineers and full stack developers</image:caption>
    </image:image>
  </url>

  <!-- MVP Design Pattern Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=mvp</loc>
    <lastmod>2026-02-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/mvp.jpg</image:loc>
      <image:title>MVP Design Pattern: A Simplified Explanation</image:title>
      <image:caption>Model-View-Presenter pattern for full stack and software engineers</image:caption>
    </image:image>
  </url>

  <!-- MVVM Design Pattern Blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=mvvm</loc>
    <lastmod>2026-02-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/mvvm.png</image:loc>
      <image:title>MVVM Design Pattern: A Simplified Explanation</image:title>
      <image:caption>Model-View-ViewModel and data binding for Angular and frontend engineers</image:caption>
    </image:image>
  </url>

  <!-- Agentic design patterns blog -->
  <url>
    <loc>https://www.otmanetahri.com/blog/more-details?blog=agentic-design-patterns</loc>
    <lastmod>2026-03-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.otmanetahri.com/assets/images/blog/agentic%20pattern.png</image:loc>
      <image:title>7 Core Agentic Design Patterns: Practical Guide With Real-World Examples</image:title>
      <image:caption>Agentic AI patterns: prompt chaining, routing, tool use, planning, and multi-agent collaboration</image:caption>
    </image:image>
  </url>

</urlset>