<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-hangman-in-react-word-bank-letter-state-machine-and-wrong-guess-reveal-animation</loc>
    <lastmod>2026-05-06T16:12:05.521Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-cryptographically-secure-password-generator-in-react-web-crypto-api-and-entropy-estimation</loc>
    <lastmod>2026-05-06T16:09:48.270Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-real-time-json-formatter-in-react-live-validation-indent-toggle-minify-and-split-pane-layout</loc>
    <lastmod>2026-05-06T00:16:00.345Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-whack-a-mole-game-in-react-refs-over-state-for-timer-callbacks-dynamic-difficulty-and-high-score</loc>
    <lastmod>2026-05-06T00:13:22.110Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-2048-in-react-the-rotation-trick-merge-logic-and-touch-swipe-without-a-library</loc>
    <lastmod>2026-05-05T15:47:45.893Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/word-to-pdf-in-next-js-mammoth-js-text-extraction-pdfkit-layout-and-streaming-a-binary-response</loc>
    <lastmod>2026-05-05T15:45:30.043Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/province-by-province-tax-lookup-in-typescript-canada-hst-gst-pst-split-and-interac-e-transfer-for-invoice-generators</loc>
    <lastmod>2026-05-05T02:46:39.256Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/po-numbers-net-terms-and-late-payment-clauses-in-a-multi-region-invoice-generator-typescript-and-pdf-lib</loc>
    <lastmod>2026-05-05T02:44:25.263Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-multi-category-unit-converter-in-next-js-conversion-architecture-record-lookup-tables-and-why-temperature-needs-its-own-branch</loc>
    <lastmod>2026-05-04T15:12:09.771Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-loan-emi-calculator-in-typescript-compound-interest-formula-year-by-year-amortization-and-reverse-emi</loc>
    <lastmod>2026-05-04T15:10:02.731Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-7-region-tax-engine-in-typescript-canada-province-lookup-india-cgst-sgst-split-and-eu-reverse-charge</loc>
    <lastmod>2026-05-04T01:36:46.406Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/upi-deep-links-and-qr-codes-in-pdf-qr-code-styling-pdf-lib-pipeline-in-next-js</loc>
    <lastmod>2026-05-04T01:21:49.639Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/integrating-js-beautify-in-next-js-a-browser-safe-html-css-and-javascript-formatter</loc>
    <lastmod>2026-05-02T17:42:58.438Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/ip-geolocation-without-an-api-key-detecting-user-region-in-react-with-abortcontroller-timeout-and-localstorage-fallback</loc>
    <lastmod>2026-05-02T17:37:41.702Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-pixel-accurate-image-resizer-canvas-drawimage-natural-dimensions-and-output-quality-trade-offs</loc>
    <lastmod>2026-05-02T03:59:05.660Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/common-patterns-across-10-browser-games-in-react-raf-loop-localstorage-canvas-vs-dom</loc>
    <lastmod>2026-05-02T03:56:51.975Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-real-time-json-formatter-in-react-json-parse-validation-format-minify-toggle-and-controlled-textarea-state</loc>
    <lastmod>2026-05-01T16:38:24.878Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-dynamic-qr-codes-in-next-js-redirect-routes-scan-tracking-geo-lookup-and-atomic-db-writes</loc>
    <lastmod>2026-05-01T16:35:21.980Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-client-side-pdf-compressor-with-pdfjs-dist-and-pdf-lib-canvas-rendering-jpeg-quality-and-the-dataurl-to-arraybuffer-round-trip</loc>
    <lastmod>2026-04-30T14:37:03.629Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-canvas-image-watermark-tool-in-react-text-overlay-globalalpha-9-position-grid-and-auto-shadow</loc>
    <lastmod>2026-04-30T14:34:18.319Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-word-to-pdf-converter-in-next-js-docx-extraction-with-mammoth-and-pdf-generation-with-pdfkit</loc>
    <lastmod>2026-04-30T02:23:39.312Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-pdf-to-word-converter-in-next-js-pdfjs-dist-text-extraction-y-coordinate-line-grouping-and-docx-assembly</loc>
    <lastmod>2026-04-30T02:20:55.297Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-pdf-metadata-viewer-and-editor-in-the-browser-with-pdf-lib-reading-and-writing-title-author-keywords-and-modification-date</loc>
    <lastmod>2026-04-29T14:52:57.509Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-lorem-ipsum-generator-in-react-no-library-custom-word-pool-and-three-output-modes</loc>
    <lastmod>2026-04-29T14:50:21.087Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-image-rotate-flip-tool-with-canvas-api-ctx-translate-ctx-rotate-and-scale-flipping</loc>
    <lastmod>2026-04-28T15:08:44.785Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-whack-a-mole-in-react-recursive-settimeout-spawning-per-hole-timers-and-speed-progression</loc>
    <lastmod>2026-04-28T15:05:58.370Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-hangman-in-react-svg-progressive-drawing-word-categories-and-physical-keyboard-events</loc>
    <lastmod>2026-04-28T02:38:08.949Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-flappy-bird-in-react-canvas-raf-gravity-physics-pipe-collision-and-speed-progression</loc>
    <lastmod>2026-04-28T02:34:47.956Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-wordle-in-react-date-seeded-daily-puzzle-two-pass-duplicate-letter-scoring-and-localstorage-streak</loc>
    <lastmod>2026-04-27T15:12:47.186Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-2048-in-react-tile-merge-logic-direction-rotation-and-localstorage-best-score</loc>
    <lastmod>2026-04-27T15:09:12.346Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/fetching-youtube-thumbnails-without-the-youtube-api-how-img-youtube-com-works-resolution-detection-and-video-id-extraction</loc>
    <lastmod>2026-04-26T15:59:42.420Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/adding-text-watermarks-to-every-pdf-page-with-pdf-lib-diagonal-rotation-opacity-and-page-center-positioning</loc>
    <lastmod>2026-04-26T15:57:59.347Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-qr-code-scanner-in-next-js-camera-access-image-upload-and-content-type-parsing</loc>
    <lastmod>2026-04-26T15:39:38.615Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-qr-code-generator-with-10-content-types-in-next-js-url-vcard-wi-fi-whatsapp-and-more</loc>
    <lastmod>2026-04-26T15:37:13.095Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-box-cricket-scorer-in-next-js-live-scorecard-multi-device-sync-and-whatsapp-scorecard-share</loc>
    <lastmod>2026-04-26T05:28:44.466Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/pdf-rotation-in-the-browser-how-pdf-lib-modifies-page-orientation-metadata</loc>
    <lastmod>2026-04-26T05:19:30.652Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/optimizing-images-for-core-web-vitals-canvas-api-webp-encoding-and-srcset-in-practice</loc>
    <lastmod>2026-04-26T05:16:55.202Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-pdf-esign-tool-canvas-signature-drawing-drag-to-place-overlay-and-pdf-lib-embedding</loc>
    <lastmod>2026-04-10T14:39:30.330Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-cryptographically-secure-password-generator-in-react</loc>
    <lastmod>2026-04-10T14:35:10.225Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-snake-in-react-canvas-raf-loop-mutable-refs-to-avoid-stale-closures-and-wall-wrap</loc>
    <lastmod>2026-04-10T02:06:56.565Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-hash-generator-with-web-crypto-api-and-a-pure-js-md5-fallback</loc>
    <lastmod>2026-04-10T02:00:30.892Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-bmi-calculator-in-react-metric-and-imperial-formulas-real-time-useeffect-and-category-color-coding</loc>
    <lastmod>2026-04-09T14:01:59.193Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-image-resizer-with-canvas-api-filereader-pipeline-aspect-ratio-lock-and-imagesmoothingquality</loc>
    <lastmod>2026-04-09T13:58:02.138Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-typing-speed-test-in-react-wpm-formula-requestanimationframe-timer-and-per-character-diff</loc>
    <lastmod>2026-04-09T02:16:48.309Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/removing-and-reordering-pdf-pages-in-the-browser-with-pdf-lib-page-grid-range-syntax-and-reverse-index-deletion</loc>
    <lastmod>2026-04-09T02:11:59.259Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-memory-card-game-in-react-3d-css-flip-animation-lock-mechanism-and-hydration-safe-shuffle</loc>
    <lastmod>2026-04-08T02:10:15.330Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-brick-breaker-in-react-canvas-physics-power-ups-with-expiry-timestamps-and-particle-bursts</loc>
    <lastmod>2026-04-07T14:46:21.804Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-daily-sudoku-in-react-mulberry32-seeded-puzzles-conflict-detection-and-notes-mode</loc>
    <lastmod>2026-04-07T14:42:09.987Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/converting-images-to-pdf-in-the-browser-with-pdf-lib-multi-image-upload-drag-to-reorder-no-server</loc>
    <lastmod>2026-04-07T01:50:11.522Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/extracting-text-from-a-pdf-in-next-js-server-side-api-route-with-pdfjs-dist-node-js-polyfills-and-line-reconstruction</loc>
    <lastmod>2026-04-07T01:33:36.686Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>