<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.craftedbydaniel.com</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/about</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/contact</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/woodworking</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/audiobook</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos/ai-vision-studio</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos/chess-ai-magnus</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos/ai-financial-dashboard</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos/ai-reasoning-lab</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos/ai-research-agent</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/demos/text-to-3d</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/privacy</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/terms</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/series/how-to-architect-an-enterprise-ai-system-and-why-the-engineer-still-matters</loc>
<lastmod>2026-07-27T22:31:24.017Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/validation-geometry-is-part-of-the-model</loc>
<lastmod>2026-05-31T18:33:43.631Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/model-failure-is-a-time-series</loc>
<lastmod>2026-05-29T08:17:41.525Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/four-vectors-one-record-how-i-split-embeddings-before-they-hit-search</loc>
<lastmod>2026-05-29T08:15:56.685Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/vector-split-by-chunk-why-my-retrieval-stops-at-the-boundary-i-drew</loc>
<lastmod>2026-05-29T08:15:37.549Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-ocr-mode-router-that-kept-neuroloqs-tutor-thread-searchable</loc>
<lastmod>2026-05-29T08:13:59.867Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/why-i-kept-search-scope-inside-a-single-supabase-rpc</loc>
<lastmod>2026-05-29T08:13:37.598Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-agentgroupchat-pattern-that-keeps-the-mapper-from-drifting</loc>
<lastmod>2026-05-29T08:13:46.392Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/coverage-before-creativity-the-rag-gate-that-keeps-my-blog-pipeline-honest</loc>
<lastmod>2026-05-29T08:12:39.689Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-reward-calibrator-that-learns-the-shape-of-its-own-judgment</loc>
<lastmod>2026-05-29T08:11:39.955Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/how-i-carve-objects-out-of-depth-instead-of-texture</loc>
<lastmod>2026-05-29T08:10:24.887Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-signal-processing-boundary-that-keeps-coaching-useful-in-real-time</loc>
<lastmod>2026-05-29T08:09:47.589Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/fresh-enough-to-render-how-i-encode-market-data-trust-in-the-cache-layer</loc>
<lastmod>2026-05-29T08:09:38.482Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/text-in-a-frame-is-contamination-not-decoration</loc>
<lastmod>2026-05-29T08:09:00.951Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-gave-my-video-generator-scratch-paper-how-think-frames-saved-my-gpu-budget</loc>
<lastmod>2026-05-29T08:08:04.257Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-boundary-that-makes-ios-capture-safe-on-the-web</loc>
<lastmod>2026-05-29T08:06:44.934Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/how-i-built-a-patient-check-in-kiosk-for-a-specialty-medical-practice</loc>
<lastmod>2026-05-29T08:07:48.146Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-lost-three-hours-to-a-blank-slateso-i-made-forgetting-structurally-impossible-series-part-12</loc>
<lastmod>2026-05-29T08:05:55.373Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-bought-the-cheapest-redis-and-dared-it-to-fail-the-circuit-breaker-that-made-cache-optional-series-part-11</loc>
<lastmod>2026-05-29T08:05:05.685Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-almost-built-a-second-search-indexthen-i-realized-privacy-was-a-runtime-toggle</loc>
<lastmod>2026-05-29T08:04:41.597Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-hid-the-ais-thinking-in-plain-sight-dual-channel-streaming-for-an-ai-search-chatbot-that-works-mid-call-series-part-9</loc>
<lastmod>2026-05-29T08:03:21.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-search-router-that-saved-me-from-one-index-to-rule-them-all-azure-ai-search-for-crm-pgvector-for-transcripts-the-crm-as-the-live-escape-hatch-series-part-8</loc>
<lastmod>2026-05-29T08:02:57.256Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-crm-sync-engine-i-had-to-reverseengineer-twostep-fetches-50field-limits-and-a-mapper-that-refuses-to-drift</loc>
<lastmod>2026-05-29T08:01:45.728Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-queue-was-a-table-how-i-built-claimunclaim-workers-with-skip-locked-stale-recovery-and-retry-caps</loc>
<lastmod>2026-05-29T08:02:41.109Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-hardcoded-the-kill-switch-feature-flags-as-ai-guardrails-series-part-5</loc>
<lastmod>2026-05-29T08:00:58.540Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/user-corrections-always-win-the-streaming-outlook-addin-ui-that-turns-human-edits-into-training-signal-series-part-4</loc>
<lastmod>2026-05-29T07:59:20.029Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-sixtier-enrichment-cascade-how-i-stop-helpful-data-from-overwriting-true-data</loc>
<lastmod>2026-05-29T07:59:34.643Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-turned-temperature-up-to-save-my-extractions-the-3node-langgraph-that-trades-variance-for-truth</loc>
<lastmod>2026-05-29T07:58:22.011Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-stopped-letting-emails-poison-my-extractor-the-pre-llm-gate-that-made-the-rest-of-the-pipeline-reliable</loc>
<lastmod>2026-05-29T07:57:20.679Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-day-my-ai-forgot-everything-so-i-built-a-context-continuity-inference-stack</loc>
<lastmod>2026-05-29T07:57:32.443Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/firecrawl-part-2-the-confidence-gate-that-decides-when-bing-gets-a-vote</loc>
<lastmod>2026-05-29T07:54:20.104Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/tracing-an-extraction-pipeline-like-a-ledger-trace-nodes-dlq-boundaries-and-replayable-failures</loc>
<lastmod>2026-05-29T07:55:42.320Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/perregion-pbr-from-one-photo-the-cropping-trick-that-stops-rgbx-from-bleeding-materials-across-boundaries</loc>
<lastmod>2026-05-29T07:50:55.431Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/my-threephase-parallel-orchestrator-typed-results-exceptionproof-phases-and-a-rollout-that-never-flaps</loc>
<lastmod>2026-05-29T07:55:06.776Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/caching-llm-extractions-without-lying-conformal-gates-a-reasoning-budget-allocator</loc>
<lastmod>2026-05-29T07:53:19.922Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/the-closedloop-consistency-trick-keeping-scene-12-faithful-to-scene-1-without-global-memory</loc>
<lastmod>2026-05-29T08:52:44.831Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/search-that-refuses-to-think-the-patternfirst-query-parser-i-use-for-fast-intent-entity-extraction</loc>
<lastmod>2026-05-29T07:52:56.407Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/multivector-embeddings-in-production-typed-vectors-cache-keys-and-a-generator-that-refuses-poison-records</loc>
<lastmod>2026-05-29T07:50:50.340Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/mrgrpo-in-practice-the-reward-mixer-that-stops-clip-from-lying-to-your-scene-compiler</loc>
<lastmod>2026-05-29T07:50:31.779Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/my-voice-router-that-refuses-to-think-patternfirst-multiagent-orchestration-for-subsecond-latency</loc>
<lastmod>2026-05-29T07:48:41.916Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/multiagent-firecrawl-research-my-fallback-chain-that-refuses-to-pretend-it-knows-the-company</loc>
<lastmod>2026-05-29T08:53:30.384Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/cache-first-geocoding-with-azure-maps-key-topology-ttl-heuristics-and-quota-smoothing</loc>
<lastmod>2026-05-29T07:48:25.385Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/adaptive-keyframe-sampling-how-i-spend-a-frame-budget-like-its-cash</loc>
<lastmod>2026-05-29T07:46:22.433Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/phase-2-calibration-percategory-ood-thresholds-grouprelative-reward-normalization-in-my-scene-compiler</loc>
<lastmod>2026-07-27T11:40:07.630Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/i-got-sam3-video-tracking-wrong-the-session-wasnt-the-problemmy-reprojection-was</loc>
<lastmod>2026-05-29T07:44:34.458Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.craftedbydaniel.com/blog/turning-crm-audit-noise-into-a-transition-graph-normalizing-events-sessionizing-creation-bursts-and-extracting-timeweighted-state-edges</loc>
<lastmod>2026-05-29T07:43:09.907Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
