<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.aldiwildan.me/</loc>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog/graceful-shutdown-in-go-patterns-trade-offs-and-best-practices-738d799630b8</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog/how-win32-api-stopped-user-tampering-in-our-kiosk-app-e7e9c041d803</loc>
    <lastmod>2026-03-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog/why-good-engineers-think-about-business-not-just-code-5566089d348e</loc>
    <lastmod>2026-03-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog/designed-state-machines-to-manage-app-flow-reliably-acd4aa1f47b8</loc>
    <lastmod>2025-08-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog/how-we-made-it-talk-handled-async-communication-with-server-sent-events-sse-582091b286c8</loc>
    <lastmod>2025-07-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.aldiwildan.me/blog/how-we-built-a-profitable-photobooth-system-that-earned-hundreds-of-millions-of-rupiah-by-3266df2c65fd</loc>
    <lastmod>2025-07-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>