<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://prasath.so/</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://prasath.so/gemeinsam-bauen</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://prasath.so/build-together</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://prasath.so/impressum</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://prasath.so/legal-notice</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://prasath.so/datenschutz</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://prasath.so/privacy-policy</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://prasath.so/blog</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://prasath.so/blog/headless-ui-in-react-19-ein-erfahrungsbericht-ueber-volle-kontrolle-im-design</loc>
<lastmod>2026-03-28T17:55:51.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/headless-ui-in-react-19-hands-on-report-on-full-design-control</loc>
<lastmod>2026-03-28T17:55:51.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/real-time-state-in-next-js-how-supabase-realtime-and-zustand-give-you-live-updates-without-the-mess</loc>
<lastmod>2026-03-05T10:46:32.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/echtzeit-state-in-next-js-wie-supabase-realtime-und-zustand-euch-live-updates-ohne-chaos-liefern</loc>
<lastmod>2026-03-05T10:46:31.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/typescript-discriminated-unions-as-a-design-system-contract-eliminating-prop-explosion-in-component</loc>
<lastmod>2026-03-04T11:56:06.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/typescript-discriminated-unions-als-design-system-vertrag-prop-explosion-in-komponentenbibliotheken</loc>
<lastmod>2026-03-04T11:56:05.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/the-hidden-cost-of-typescript-as-casts-in-large-codebases-and-how-to-systematically-eliminate-them</loc>
<lastmod>2026-02-27T21:37:28.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/die-versteckten-kosten-von-typescript-as-casts-und-wie-man-sie-systematisch-eliminiert</loc>
<lastmod>2026-02-27T21:37:27.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://prasath.so/blog/tag/nextjs</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://prasath.so/blog/tag/postgresql</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://prasath.so/blog/tag/react</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://prasath.so/blog/tag/supabase</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://prasath.so/blog/tag/typescript</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://prasath.so/blog/tag/zustand</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
</urlset>
