<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://cristiansarghe.com/blog/when-micro-frontends-make-sense-in-angular-and-when-they-don-t-2396623</loc>
    <lastmod>2026-04-10T11:47:07+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-53739567_desktop.jpg</image:loc>
      <image:caption>When Micro-Frontends Make Sense in Angular - and When They Don’t</image:caption>
      <image:title>When Micro-Frontends Make Sense in Angular - and When They Don’t</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/angular-architecture-smells-that-hurt-teams-as-apps-grow-60336375</loc>
    <lastmod>2026-04-06T19:04:00+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-74253750_desktop.jpg</image:loc>
      <image:caption>Angular Architecture Smells That Hurt Teams as Apps Grow</image:caption>
      <image:title>Angular Architecture Smells That Hurt Teams as Apps Grow</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/angular-signals-vs-rxjs-choosing-the-right-tool-for-the-job-39293215</loc>
    <lastmod>2026-04-06T13:47:48+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-23210580_desktop.jpg</image:loc>
      <image:caption>Angular Signals vs RxJS: Choosing the Right Tool for the Job</image:caption>
      <image:title>Angular Signals vs RxJS: Choosing the Right Tool for the Job</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/common-standalone-migration-problems-and-how-to-fix-them-76756147</loc>
    <lastmod>2026-04-06T13:47:21+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-35988490_desktop.jpg</image:loc>
      <image:caption>Common Standalone Migration Problems and How to Fix Them</image:caption>
      <image:title>Common Standalone Migration Problems and How to Fix Them</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/ai-coding-with-angular-mcp-a-practical-setup-for-cursor-codex-and-18432899</loc>
    <lastmod>2026-04-06T13:44:42+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-30298975_desktop.jpg</image:loc>
      <image:caption>AI Coding with Angular MCP: A Practical Setup for Cursor, Codex, and Windsurf</image:caption>
      <image:title>AI Coding with Angular MCP: A Practical Setup for Cursor, Codex, and Windsurf</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/how-to-structure-a-large-angular-codebase-for-multiple-teams-37085294</loc>
    <lastmod>2026-03-31T15:22:00+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-75996027_desktop.jpg</image:loc>
      <image:caption>How to Structure a Large Angular Codebase for Multiple Teams</image:caption>
      <image:title>How to Structure a Large Angular Codebase for Multiple Teams</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/signal-forms-vs-reactive-forms-which-should-you-use-in-a-real-94683278</loc>
    <lastmod>2026-03-30T15:24:00+03:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-87797264_desktop.jpg</image:loc>
      <image:caption>Signal Forms vs Reactive Forms: Which Should You Use in a Real Angular App?</image:caption>
      <image:title>Signal Forms vs Reactive Forms: Which Should You Use in a Real Angular App?</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/how-i-would-modernize-an-angular-12-15-app-in-2026-59773839</loc>
    <lastmod>2026-03-28T18:15:00+02:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-43001949_desktop.jpg</image:loc>
      <image:caption>How I Would Modernize an Angular 12–15 App in 2026</image:caption>
      <image:title>How I Would Modernize an Angular 12–15 App in 2026</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://cristiansarghe.com/blog/angular-21-for-senior-developers-what-is-actually-worth-adopting-67339603</loc>
    <lastmod>2026-03-27T12:55:00+02:00</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.cristiansarghe.com/cover-40153364_desktop.jpg</image:loc>
      <image:caption>Angular 21 for Senior Developers: What Is Actually Worth Adopting?</image:caption>
      <image:title>Angular 21 for Senior Developers: What Is Actually Worth Adopting?</image:title>
    </image:image>
  </url>
</urlset>