<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://calchubtools.hashnode.dev</loc>
    <lastmod>2026-11-05T13:37:27.642Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://calchubtools.hashnode.dev/why-minimum-payments-take-19-years-simulating-credit-card-payoff-in-javascript</loc>
    <lastmod>2026-11-05T10:16:31.713Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://calchubtools.hashnode.dev/the-loan-payment-formula-explained-and-implemented-in-15-lines-of-javascript</loc>
    <lastmod>2026-11-01T10:04:59.184Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://calchubtools.hashnode.dev/merge-split-and-rotate-pdfs-entirely-in-the-browser-with-pdf-lib</loc>
    <lastmod>2026-10-31T10:10:20.782Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://calchubtools.hashnode.dev/compress-images-in-the-browser-with-canvas-and-webp-no-server-no-upload</loc>
    <lastmod>2026-10-29T10:06:19.714Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://calchubtools.hashnode.dev/what-s-actually-inside-a-jwt-decoding-one-by-hand-in-10-lines-of-javascript</loc>
    <lastmod>2026-10-28T15:32:04.120Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://calchubtools.hashnode.dev/archive</loc>
    <lastmod>2026-11-05T13:37:27.642Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>