<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://shankerdhand.com</loc>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://shankerdhand.com/about</loc>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://shankerdhand.com/services</loc>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://shankerdhand.com/work</loc>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog</loc>
<lastmod>2026-09-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.95</priority>
</url>
<url>
<loc>https://shankerdhand.com/services/llm-rag-systems</loc>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://shankerdhand.com/services/ai-agents-automation</loc>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://shankerdhand.com/services/ml-strategy-audit</loc>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://shankerdhand.com/services/full-stack-engineering</loc>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://shankerdhand.com/services/mobile-apps</loc>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/prompt-versioning-stop-hand-editing-in-a-cms</loc>
<lastmod>2026-09-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/rag-evaluation-the-harness-i-actually-run</loc>
<lastmod>2026-09-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/reranking-highest-leverage-fifty-lines</loc>
<lastmod>2026-09-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/swapping-an-embedding-model-without-breaking-retrieval</loc>
<lastmod>2026-09-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/when-not-to-use-an-agent</loc>
<lastmod>2026-09-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/multi-tenant-rag-relevance-is-not-access-control</loc>
<lastmod>2026-09-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/what-shipping-mobile-apps-taught-me-about-llm-systems</loc>
<lastmod>2026-09-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/nextjs-16-3-the-upgrade-i-stopped-deferring</loc>
<lastmod>2026-09-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/postgres-only-ai-stack</loc>
<lastmod>2026-08-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/ai-agent-audit-trail</loc>
<lastmod>2026-08-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/choosing-a-model-in-2026</loc>
<lastmod>2026-08-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/cost-aware-llm-engineering</loc>
<lastmod>2026-08-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/hybrid-search-vs-vector-search</loc>
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/llm-agent-failure-modes-in-production</loc>
<lastmod>2026-08-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/llm-observability-what-to-log-what-to-alert-on</loc>
<lastmod>2026-08-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/mcp-breaking-changes-and-how-to-migrate</loc>
<lastmod>2026-09-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/chunking-strategies-for-rag-and-when-each-one-bites-you</loc>
<lastmod>2026-08-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/choosing-a-vector-store-in-2026</loc>
<lastmod>2026-09-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/production-rag-checklist</loc>
<lastmod>2026-09-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/tags/agents</loc>
<lastmod>2026-09-03T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/tags/llm</loc>
<lastmod>2026-09-07T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/tags/production</loc>
<lastmod>2026-09-07T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://shankerdhand.com/blog/tags/rag</loc>
<lastmod>2026-09-06T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
