<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://curtisfoster-ai.com/</loc>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog</loc>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-ai-production-readiness-review-12-questions-i-ask-before-launch</loc>
    <lastmod>2026-10-31T14:00:00.000Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/how-to-design-human-handoffs-for-ai-agents-that-cannot-finish-the-job</loc>
    <lastmod>2026-10-28T00:51:22.167Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/streaming-queues-and-background-jobs-choosing-the-right-runtime-for-ai-workflows</loc>
    <lastmod>2026-10-27T23:58:34.112Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-hidden-ai-product-decision-who-gets-to-override-the-output</loc>
    <lastmod>2026-10-27T23:58:19.285Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-model-routing-in-production-how-to-match-the-right-model-to-the-right-task</loc>
    <lastmod>2026-10-28T00:51:22.161Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/prompt-injection-is-a-product-risk-how-i-think-about-trust-boundaries-in-ai-appl</loc>
    <lastmod>2026-10-28T00:51:22.154Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-ai-agent-permission-model-what-an-agent-should-be-allowed-to-read-write-and-</loc>
    <lastmod>2026-10-27T23:56:57.958Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-latency-is-a-product-experience-problem</loc>
    <lastmod>2026-10-27T23:56:39.999Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-agent-shadow-mode-how-to-test-agents-before-they-touch-customer-workflows</loc>
    <lastmod>2026-10-27T23:56:21.802Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-ai-fallback-strategy-what-should-happen-when-the-model-tool-or-context-fails</loc>
    <lastmod>2026-10-27T23:56:06.240Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/why-ai-context-windows-are-a-product-constraint-not-a-model-specification</loc>
    <lastmod>2026-10-27T23:55:38.069Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-testing-lessons-from-a-workflow-that-passed-every-test-and-still-failed-in-pr</loc>
    <lastmod>2026-10-27T23:55:18.691Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-agent-observability-the-signals-that-reveal-what-your-system-is-really-doing</loc>
    <lastmod>2026-10-27T23:54:58.079Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-first-week-after-launching-an-ai-product-what-broke-what-surprised-me-and-wh</loc>
    <lastmod>2026-10-27T23:54:38.541Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-product-requirements-how-to-write-a-useful-prd-for-an-uncertain-ai-feature</loc>
    <lastmod>2026-10-27T23:54:19.298Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/7-questions-to-ask-before-giving-an-ai-workflow-access-to-customer-data</loc>
    <lastmod>2026-10-28T00:51:22.116Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/what-building-ziggyloo-taught-me-about-designing-an-ai-tutor-product-for-real</loc>
    <lastmod>2026-10-27T23:53:16.474Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-ai-feature-that-looked-smart-until-a-real-user-asked-a-follow-up-question</loc>
    <lastmod>2026-10-27T23:41:17.879Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/how-id-hire-an-applied-ai-engineer-in-2026</loc>
    <lastmod>2026-10-27T13:00:56.322Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/per-call-cost-telemetry-how-to-stop-ai-bills-from-surprising-you</loc>
    <lastmod>2026-10-28T00:51:22.185Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/multi-agent-systems-when-they-help-and-when-one-good-agent-wins</loc>
    <lastmod>2026-10-13T13:00:09.056Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/what-a-solo-founder-learned-shipping-ai-from-0-to-1</loc>
    <lastmod>2026-10-06T13:00:21.417Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-memory-architecture-the-five-layers-behind-reliable-llm-products</loc>
    <lastmod>2026-10-28T00:51:22.190Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-eval-loop-is-the-product-measuring-whether-your-ai-is-actually-right</loc>
    <lastmod>2026-09-22T13:00:41.090Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/fix-the-corpus-a-field-guide-to-rag-data-quality</loc>
    <lastmod>2026-09-15T13:00:22.051Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/how-i-build-a-self-certifying-review-loop-for-production-ai</loc>
    <lastmod>2026-10-28T00:51:22.195Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/from-technical-program-management-to-ai-builder-what-transferred-and-what-didn-t</loc>
    <lastmod>2026-09-06T13:22:32.071Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-three-numbers-i-watch-on-every-ai-product-i-ship</loc>
    <lastmod>2026-10-28T00:51:22.221Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/hiring-your-first-ai-engineer-as-a-non-technical-founder-what-to-actually-screen</loc>
    <lastmod>2026-09-06T13:22:32.058Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/agentic-pipelines-what-a-self-correcting-review-loop-actually-buys-you</loc>
    <lastmod>2026-10-28T00:51:22.232Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-distribution-moat-most-ai-startups-ignore-until-it-is-too-late</loc>
    <lastmod>2026-09-06T13:22:32.046Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/why-ai-cost-telemetry-belongs-in-your-mvp-not-your-series-a</loc>
    <lastmod>2026-10-28T00:51:22.237Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/how-a-non-technical-founder-can-run-an-ai-product-day-to-day</loc>
    <lastmod>2026-09-06T13:22:32.192Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/when-to-fine-tune-when-to-use-rag-and-when-to-write-a-better-prompt</loc>
    <lastmod>2026-09-06T13:22:32.188Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-startup-metric-almost-nobody-instruments-retry-storms</loc>
    <lastmod>2026-09-06T13:22:32.183Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/zero-to-one-with-generative-image-and-video-pipelines-using-imagen-veo-and-ffmpe</loc>
    <lastmod>2026-10-28T00:51:22.242Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/prompt-engineering-is-table-stakes-system-prompt-engineering-is-the-real-skill</loc>
    <lastmod>2026-10-28T00:51:22.247Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/a-founder-s-guide-to-avoiding-ai-vendor-lock-in-without-slowing-down</loc>
    <lastmod>2026-10-28T00:51:22.253Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/how-i-ship-a-new-ai-product-in-a-weekend-and-the-three-things-i-refuse-to-skip</loc>
    <lastmod>2026-09-06T13:22:32.169Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/ai-guardrails-arent-a-filter-theyre-an-architecture</loc>
    <lastmod>2026-09-06T13:22:32.165Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/multi-model-orchestration-why-i-stopped-betting-a-whole-product-on-one-model</loc>
    <lastmod>2026-10-28T00:51:22.270Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-real-cost-of-an-ai-feature-instrument-ai-cost-before-it-surprises-you</loc>
    <lastmod>2026-10-28T00:51:22.286Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/what-long-term-memory-actually-takes-in-a-production-llm-application</loc>
    <lastmod>2026-10-28T00:51:22.297Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/rag-is-a-data-quality-problem-not-a-search-problem</loc>
    <lastmod>2026-10-28T00:51:22.302Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/the-eval-loop-is-the-product-why-i-build-evaluations-before-features-in-any-ai-a</loc>
    <lastmod>2026-09-06T13:22:32.141Z</lastmod>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://curtisfoster-ai.com/blog/why-your-ai-demo-works-and-your-ai-product-does-not</loc>
    <lastmod>2026-09-06T13:22:32.137Z</lastmod>
    <priority>0.7</priority>
  </url>
</urlset>
