<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
>
  <url>
    <loc>https://sophiabits.com/</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/what-is-rss</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/about/me</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/about/stack</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/about/work</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/blog</loc>
    <lastmod>2025-07-25T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/latest</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/policy/disclaimer</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/policy/privacy</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/retro/admityogi</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/retro/kwotimation</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/til</loc>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/jitter-the-first-request</loc>
    <lastmod>2025-07-25T07:37:56.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/every-tool-call-is-a-chance-to-prompt</loc>
    <lastmod>2025-07-16T08:05:12.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/graphql-behavior-driven-mutations</loc>
    <lastmod>2025-07-14T06:31:47.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/building-agentic-checkout</loc>
    <lastmod>2025-07-16T08:05:12.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/you-cant-always-retry-a-5xx</loc>
    <lastmod>2025-07-01T07:16:59.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/implicit-is-better-than-explicit</loc>
    <lastmod>2025-07-25T07:37:56.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-write-robust-webhook-handlers</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/lean-in-to-the-graph-when-writing-resolvers</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/dont-use-typescript-string-enums</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/it-takes-a-village</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/you-just-cant-be-googling-select</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/low-and-steady-write-rates</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/leveraging-logprobs</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/graphql-collection-lookups</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/using-the-sunset-header-with-graphql</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/deploy-metabase-on-aws-app-runner</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/openai-structured-outputs-deep-dive</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/i-went-on-a-podcast</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/custom-error-codes-in-trpc</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/new-llms-arent-always-better</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/review-your-own-prs</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/bulletproof-graphql-polling</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/conventional-changelogs-suck</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/be-a-tidy-kiwi</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/graphql-naming-conventions</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/why-you-shouldnt-namespace-graphql-mutations</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/how-to-track-your-saas-carbon-footprint-on-aws</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/always-use-a-dataloader</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/add-a-base-to-your-multistage-docker-build</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/graphql-separate-input-output-types</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/software-reliability-happens-in-depth</loc>
    <lastmod>2025-07-25T07:37:56.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/use-aws-support</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/graphql-schema-nesting</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/do-you-need-an-llm-for-that</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-seriously-do-you-take-your-slos</loc>
    <lastmod>2025-07-25T07:37:56.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/use-varchar-not-text</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-think-about-serverless-pricing</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-install-private-npm-packages</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/beware-the-architecture-astronaut</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/the-openai-dashboard-lesson-in-product-management</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/intentionally-breaking-your-program</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/identifying-slow-postgresql-queries</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/is-gpt-cost-effective-yet</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/making-breaking-graphql-changes-without-breaking-anything</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/dont-rely-too-naively-on-gpts-json-mode</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/dont-hire-for-next-quarter</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/invoking-graphql-resolvers-multiple-times</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/big-gpt-performance-improvements</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/strategies-for-managing-gpt-rate-limits</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/is-it-time-to-stop-requesting-yaml-from-gpt</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/openais-strange-timeouts</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/how-to-implement-global-object-identification</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/efficient-data-retention-policies</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/shadowing-isnt-so-bad</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/centralized-resource-id-generation-with-drizzle</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/managing-your-aws-organization-in-terraform</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/avoid-json-file-merge-conflicts</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/drizzles-killer-feature</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/set-up-monitoring-for-unauthorized-aws-api-access</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/tag-your-cloud-resources-with-their-repository</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/dont-put-foreign-keys-in-your-graphql-schema</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/understanding-secrets-manager</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/using-terraform-plan-to-write-iac</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/self-healing-elastic-beanstalk</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/instantly-save-on-your-rds-bill</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/verify-environment-variables-nextjs</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/javascript-using-statement</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/be-wary-of-bad-terraform-defaults</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/fixing-react-hydration-errors</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/database-generated-human-resource-ids</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/securing-llm-products</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/alpine-is-slowing-down-your-python-builds</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/gpt-4-rate-limits-are-brutal</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-purge-your-cdn-from-a-pipeline</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/graphql-is-for-your-product</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/stop-using-defaultprops</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/speak-slowly-and-buy-a-decent-microphone</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/object-ids-for-humans</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/llms-are-just-tools</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/the-brag-sheet</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/swift-guard-statements</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/pnpm-is-blazing-fast</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/english-stranglehold-on-nlp-has-been-broken</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/startups-have-to-care-about-productivity-again</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/evaluating-a-new-technology</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/what-is-the-http-sunset-header</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-use-next-image-with-remote-mdx</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/the-importance-of-writing-culture-in-engineering-orgs</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/the-cost-of-bandwidth</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/animated-heights-in-react</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/css-in-js-to-tailwind-better-web-vitals</loc
    >
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/metaverse-and-vr-no-one-cares</loc>
    <lastmod>2022-07-09T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/advertising-is-for-losers</loc>
    <lastmod>2022-05-29T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/apple-and-the-value-of-small-details</loc>
    <lastmod>2022-05-29T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/microfrontends-are-a-scam</loc>
    <lastmod>2022-05-03T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/typescript-enums-use-string-values</loc>
    <lastmod>2022-04-22T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/the-14-macbook-pro-isnt-good</loc>
    <lastmod>2022-04-21T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/three-step-coding-interview-guide</loc>
    <lastmod>2022-07-14T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/the-beauty-of-niche-software</loc>
    <lastmod>2022-03-19T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/css-contrast-ratio-media-query</loc>
    <lastmod>2022-03-15T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/css-color-manipulation-taken-too-soon</loc>
    <lastmod>2022-03-08T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/disney-plus-play-button</loc>
    <lastmod>2022-03-07T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/apple-should-charge-more-for-iap</loc>
    <lastmod>2022-03-05T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/vercel-and-netlify-are-slick</loc>
    <lastmod>2022-02-10T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-make-beautiful-text-inputs</loc>
    <lastmod>2022-02-07T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/a-year-of-helping-tradies-get-online</loc>
    <lastmod>2025-03-19T07:26:42.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/nz-unemployment-insurance-scheme</loc>
    <lastmod>2022-02-03T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/alternative-nzoi-train-progress</loc>
    <lastmod>2022-02-02T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc
      >https://sophiabits.com/blog/how-to-get-macos-hotkeys-working-in-iterm</loc
    >
    <lastmod>2022-04-25T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/nzoi-camp-2022-retrospective</loc>
    <lastmod>2022-01-17T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/logitech-mx-master3-scrolling</loc>
    <lastmod>2022-01-17T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/how-to-access-google-postmaster-email</loc>
    <lastmod>2021-12-15T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/the-fundamental-rule-of-negotiation</loc>
    <lastmod>2021-10-10T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/nft-art-will-lead-to-something-bigger</loc>
    <lastmod>2021-12-07T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/on-the-updated-philips-hue-app</loc>
    <lastmod>2021-07-12T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/the-one-change-id-make-to-se</loc>
    <lastmod>2021-03-25T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/performance-on-the-web</loc>
    <lastmod>2021-03-19T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/two-weeks-of-m1</loc>
    <lastmod>2021-03-04T00:00:00.000Z</lastmod>
  </url>

  <url>
    <loc>https://sophiabits.com/blog/buy-vs-build</loc>
    <lastmod>2021-04-06T00:00:00.000Z</lastmod>
  </url>
</urlset>
