<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://jamesmillerblog.hashnode.dev</loc>
    <lastmod>2026-09-10T21:47:55.796Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/multiplayer-webxr-readyplayerme-avatars-part-1</loc>
    <lastmod>2023-08-10T17:20:24.380Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/multiplayer-metaverse-creation-on-ethereum</loc>
    <lastmod>2023-07-02T12:21:30.386Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-set-up-auth-with-metamask-using-amazon-cognito-part-2</loc>
    <lastmod>2023-06-23T13:58:27.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-set-up-auth-with-metamask-using-amazon-cognito-part-1</loc>
    <lastmod>2023-06-20T20:11:34.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-add-amazon-cognito-auth-to-a-web-app-part-4</loc>
    <lastmod>2023-04-23T11:08:51.297Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-add-amazon-cognito-auth-to-a-web-app-part-3</loc>
    <lastmod>2023-03-26T09:37:47.697Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-add-amazon-cognito-auth-to-a-web-app-part-2</loc>
    <lastmod>2023-02-05T13:25:17.984Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-add-amazon-cognito-auth-to-a-web-app-part-1</loc>
    <lastmod>2023-01-02T22:11:44.415Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-configure-github-actions</loc>
    <lastmod>2022-12-11T15:12:09.653Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/easy-win-wifi-set-up-on-ubuntu</loc>
    <lastmod>2022-11-05T16:37:10.404Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/wrapperjs-a-new-devops-library</loc>
    <lastmod>2022-10-16T17:18:33.760Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-make-real-time-multiplayer-webxr-experiences-part-3</loc>
    <lastmod>2022-09-07T21:11:29.565Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-make-real-time-multiplayer-webxr-experiences-part-2</loc>
    <lastmod>2022-08-07T11:44:29.844Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-make-real-time-multiplayer-webxr-experiences-part-1-c5317765fd63</loc>
    <lastmod>2022-07-03T16:24:15.259Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/how-to-create-cross-device-compatible-webxr-experiences</loc>
    <lastmod>2022-06-04T15:27:43.862Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/what-is-webxr-and-why-is-it-so-exciting-e736c748ecec</loc>
    <lastmod>2022-05-02T11:18:12.159Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/5-methods-for-setting-up-a-private-blockchain-network-fb8e730baff4</loc>
    <lastmod>2022-04-03T13:54:54.774Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/what-is-blockchain-and-how-does-it-work-17ce6144f613</loc>
    <lastmod>2022-03-06T18:42:30.363Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/nextjs-serverless-framework-and-terraform-monorepo</loc>
    <lastmod>2022-02-05T13:16:34.676Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/what-is-the-metaverse</loc>
    <lastmod>2022-08-10T07:32:59.780Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/learn-serverless-framework</loc>
    <lastmod>2021-10-31T11:08:55.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/automating-next-sls-and-terraform</loc>
    <lastmod>2021-10-01T08:34:40.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/set-up-emails-that-dont-get-blocked</loc>
    <lastmod>2021-09-19T08:58:11.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/terraform-variable-types-for-beginners</loc>
    <lastmod>2021-08-08T19:30:08.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/top-15-useful-docker-commands</loc>
    <lastmod>2020-11-08T17:36:52.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/setup-terraform-with-aws-on-mac</loc>
    <lastmod>2021-12-24T10:32:54.492Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/why-i-serverless-architecture</loc>
    <lastmod>2020-07-26T09:46:00.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/web-share-api-and-sharer-urls</loc>
    <lastmod>2021-12-24T10:24:27.660Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/my-ideal-creative-technology-stack</loc>
    <lastmod>2021-12-24T10:09:00.094Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/thinking-through-serverless</loc>
    <lastmod>2020-05-03T19:30:36.000Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/lambda-function-301-redirects</loc>
    <lastmod>2021-12-24T10:02:12.997Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/archive</loc>
    <lastmod>2026-09-10T21:47:55.796Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://jamesmillerblog.hashnode.dev/recommendations</loc>
    <lastmod>2026-09-10T21:47:55.796Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>