<?xml version="1.0" encoding="UTF-8"?>
<!-- changefreq/priority dropped (ignored by Google). lastmod for blog posts
     mirrors the `modified`/`iso` fields in src/content/blogPosts.jsx - keep
     them in sync when posts change. All URLs are prerendered to static HTML
     at build time (scripts/prerender.py) and must return HTTP 200. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://gravisun.com/</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/blog</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/blog/building-lynqu-full-stack-case-study</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/blog/how-to-choose-a-product-development-partner</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/blog/signs-your-app-needs-a-rebuild</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/blog/mvp-cost-2026</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/blog/devops-for-startups</loc>
    <lastmod>2026-06-10</lastmod>
  </url>
  <url>
    <loc>https://gravisun.com/privacy</loc>
  </url>
  <url>
    <loc>https://gravisun.com/terms</loc>
  </url>
</urlset>
