<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://matthuggins.com/</loc>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/lab</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/lab/cargo-dispatch</loc>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/orchestrating-image-to-svg-conversion-with-an-artifact-based-pipeline</loc>
    <lastmod>2026-03-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/multi-step-form-validation-with-tanstack-form</loc>
    <lastmod>2026-03-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/avoiding-tanstack-form-pitfalls</loc>
    <lastmod>2026-01-08</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/building-a-secure-javascript-sandbox-for-player-bot-scripts</loc>
    <lastmod>2025-12-29</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/deduplicating-parallel-queries-in-tanstack-query-react-query</loc>
    <lastmod>2025-12-21</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/building-a-reusable-form-component-library-with-tanstack-form</loc>
    <lastmod>2025-12-18</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/pnpm-makes-monorepos-effortless</loc>
    <lastmod>2025-09-15</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/parsing-domain-names-now-in-gem-form</loc>
    <lastmod>2015-01-02</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/april-fools-how-we-converted-our-site-to-doge-in-just-40-lines-of-code</loc>
    <lastmod>2014-04-01</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/step-by-step-guide-to-building-your-first-ruby-gem</loc>
    <lastmod>2014-03-08</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/posts/using-faux-activerecord-models-in-rails-3</loc>
    <lastmod>2014-01-04</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/data%20fetching</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/form%20management</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/graphics</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/javascript</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/node.js</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/react</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/ruby</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/ruby%20on%20rails</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/security</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/tanstack%20form</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/tanstack%20query</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/typescript</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://matthuggins.com/blog/tags/user%20experience</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
