<?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">

  <!-- Single URL per route: language is resolved client-side, so there are no
       distinct per-language URLs to declare via hreflang. Each route is
       self-canonical (see SEO.tsx). -->

  <!-- Homepage -->
  <url>
    <loc>https://dk.punds.ch/</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/og-image.png</image:loc>
      <image:title>Dominik Könitzer, software engineer portfolio</image:title>
    </image:image>
  </url>

  <!-- About -->
  <url>
    <loc>https://dk.punds.ch/about</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Experience -->
  <url>
    <loc>https://dk.punds.ch/experience</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Skills -->
  <url>
    <loc>https://dk.punds.ch/skills</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Services -->
  <url>
    <loc>https://dk.punds.ch/services</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Projects -->
  <url>
    <loc>https://dk.punds.ch/projects</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Project: Zephyr -->
  <url>
    <loc>https://dk.punds.ch/projects/zephyr</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/zephyr.jpg</image:loc>
      <image:title>Zephyr, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Portfolio -->
  <url>
    <loc>https://dk.punds.ch/projects/portfolio</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/portfolio.jpg</image:loc>
      <image:title>Portfolio, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Entropy -->
  <url>
    <loc>https://dk.punds.ch/projects/entropy</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/entropy.jpg</image:loc>
      <image:title>Entropy, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Spectrum -->
  <url>
    <loc>https://dk.punds.ch/projects/spectrum</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/spectrum.jpg</image:loc>
      <image:title>Spectrum, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Remnants -->
  <url>
    <loc>https://dk.punds.ch/projects/remnants</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/remnants.png</image:loc>
      <image:title>Remnants, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Time -->
  <url>
    <loc>https://dk.punds.ch/projects/time</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/time.jpg</image:loc>
      <image:title>Time, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Jester -->
  <url>
    <loc>https://dk.punds.ch/projects/jester</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/jester.png</image:loc>
      <image:title>Jester, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Flow -->
  <url>
    <loc>https://dk.punds.ch/projects/flow</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/flow.png</image:loc>
      <image:title>Flow, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Punds -->
  <url>
    <loc>https://dk.punds.ch/projects/punds</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/punds.jpg</image:loc>
      <image:title>Punds, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Senbon -->
  <url>
    <loc>https://dk.punds.ch/projects/senbon</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/senbon.jpg</image:loc>
      <image:title>Senbon, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Project: Oxidize -->
  <url>
    <loc>https://dk.punds.ch/projects/oxidize</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://dk.punds.ch/projects/oxidize.png</image:loc>
      <image:title>Oxidize, a software project by Dominik Könitzer</image:title>
    </image:image>
  </url>

  <!-- Contact -->
  <url>
    <loc>https://dk.punds.ch/contact</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Donate -->
  <url>
    <loc>https://dk.punds.ch/donate</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- Privacy -->
  <url>
    <loc>https://dk.punds.ch/privacy</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- CV / Lebenslauf. Standalone documents in public/, not app routes, so the
       router-parity guard needs them in its STATIC_DOCS allowlist. Listed at
       their real paths rather than the pretty /cv and /lebenslauf URLs, which
       are 308 redirects: a sitemap entry that redirects is dropped. Their only
       inbound link is rendered by JavaScript, so without these two entries a
       crawler that does not run JS never discovers them. -->
  <url>
    <loc>https://dk.punds.ch/cv/curriculum-vitae.html</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <url>
    <loc>https://dk.punds.ch/cv/lebenslauf.html</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

</urlset>
