<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://craftedbydaniel.hashnode.dev</loc>
    <lastmod>2026-09-10T15:59:01.022Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/graceful-mathematical-degradation-in-an-estimation-route</loc>
    <lastmod>2026-08-18T04:33:55.939Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/algorithmic-matching-without-an-llm</loc>
    <lastmod>2026-08-12T22:00:04.279Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/rejected-7f8752b6-negative-space-is-a-label</loc>
    <lastmod>2026-08-11T06:12:03.919Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/created-is-not-ready-terraform-ordering-vs-azure-eventual-consistency</loc>
    <lastmod>2026-08-07T13:55:53.676Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/segmentation-is-not-the-finish-line</loc>
    <lastmod>2026-08-04T05:14:22.441Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/model-failure-is-a-time-series-msdqkyfj</loc>
    <lastmod>2026-08-03T21:23:43.583Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/voice-input-is-an-intent-language</loc>
    <lastmod>2026-08-03T21:23:34.194Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/provenance-belongs-in-the-image-table</loc>
    <lastmod>2026-08-03T21:23:24.678Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/messages-need-a-protocol-before-they-need-a-chat-ui</loc>
    <lastmod>2026-08-03T21:23:14.861Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/a-cache-key-is-an-equivalence-relation</loc>
    <lastmod>2026-08-03T21:22:54.193Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/workflow-json-is-generated-code</loc>
    <lastmod>2026-08-03T21:22:44.626Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/model-failure-is-a-time-series</loc>
    <lastmod>2026-08-03T21:21:17.481Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/validation-geometry-is-part-of-the-model</loc>
    <lastmod>2026-08-03T21:18:19.099Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/four-vectors-one-record-how-i-split-embeddings-before-they-hit-search</loc>
    <lastmod>2026-08-03T21:14:26.286Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/vector-split-by-chunk-why-my-retrieval-stops-at-the-boundary-i-drew</loc>
    <lastmod>2026-08-03T21:14:17.830Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-ocr-mode-router-that-kept-neuroloqs-tutor-thread-searchable</loc>
    <lastmod>2026-08-03T21:14:08.376Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/why-i-kept-search-scope-inside-a-single-supabase-rpc</loc>
    <lastmod>2026-08-03T21:13:59.055Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-agentgroupchat-pattern-that-keeps-the-mapper-from-drifting</loc>
    <lastmod>2026-08-03T21:13:30.243Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/coverage-before-creativity-the-rag-gate-that-keeps-my-blog-pipeline-honest</loc>
    <lastmod>2026-08-03T21:13:15.810Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-reward-calibrator-that-learns-the-shape-of-its-own-judgment</loc>
    <lastmod>2026-08-03T21:13:05.077Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-startup-gate-that-makes-a-python-app-feel-native</loc>
    <lastmod>2026-03-29T23:18:30.335Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/how-i-carve-objects-out-of-depth-instead-of-texture</loc>
    <lastmod>2026-03-29T15:54:44.173Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-signal-processing-boundary-that-keeps-coaching-useful-in-real-time</loc>
    <lastmod>2026-03-29T10:18:48.309Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/fresh-enough-to-render-how-i-encode-market-data-trust-in-the-cache-layer</loc>
    <lastmod>2026-03-29T07:32:52.661Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/text-in-a-frame-is-contamination-not-decoration</loc>
    <lastmod>2026-03-29T06:18:35.362Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-gave-my-video-generator-scratch-paper-how-think-frames-saved-my-gpu-budget</loc>
    <lastmod>2026-03-26T07:56:48.007Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-boundary-that-makes-ios-capture-safe-on-the-web</loc>
    <lastmod>2026-03-24T04:28:22.508Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/how-i-stopped-empty-tray-captures-from-reaching-whisper-in-yapper</loc>
    <lastmod>2026-03-23T14:03:29.588Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/how-i-built-a-patient-check-in-kiosk-for-a-specialty-medical-practice</loc>
    <lastmod>2026-03-23T14:03:32.798Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/caching-llm-extractions-without-lying-conformal-gates-a-reasoning-budget-allocator</loc>
    <lastmod>2026-03-23T14:04:30.780Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/perregion-pbr-from-one-photo-the-cropping-trick-that-stops-rgbx-from-bleeding-materials-across-boundaries-1</loc>
    <lastmod>2026-03-23T12:57:29.227Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-day-my-ai-forgot-everything-so-i-built-a-context-continuity-inference-stack</loc>
    <lastmod>2026-03-23T14:04:16.593Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-stopped-letting-emails-poison-my-extractor-the-pre-llm-gate-that-made-the-rest-of-the-pipeline-reliable</loc>
    <lastmod>2026-03-23T14:04:12.316Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-turned-temperature-up-to-save-my-extractions-the-3node-langgraph-that-trades-variance-for-truth</loc>
    <lastmod>2026-03-23T14:04:09.053Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-sixtier-enrichment-cascade-how-i-stop-helpful-data-from-overwriting-true-data</loc>
    <lastmod>2026-03-23T14:04:06.025Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/user-corrections-always-win-the-streaming-outlook-addin-ui-that-turns-human-edits-into-training-signal-series-part-4</loc>
    <lastmod>2026-03-23T14:04:02.677Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-hardcoded-the-kill-switch-feature-flags-as-ai-guardrails-series-part-5</loc>
    <lastmod>2026-03-23T14:03:59.506Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-queue-was-a-table-how-i-built-claimunclaim-workers-with-skip-locked-stale-recovery-and-retry-caps</loc>
    <lastmod>2026-03-23T14:03:56.012Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/the-crm-sync-engine-i-had-to-reverseengineer-twostep-fetches-50field-limits-and-a-mapper-that-refuses-to-drift</loc>
    <lastmod>2026-03-23T14:03:52.671Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/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-03-23T14:03:49.061Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/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-03-23T14:03:46.048Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-almost-built-a-second-search-indexthen-i-realized-privacy-was-a-runtime-toggle</loc>
    <lastmod>2026-03-23T14:03:43.158Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-bought-the-cheapest-redis-and-dared-it-to-fail-the-circuit-breaker-that-made-cache-optional-series-part-11</loc>
    <lastmod>2026-03-23T14:03:40.067Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/i-lost-three-hours-to-a-blank-slateso-i-made-forgetting-structurally-impossible-series-part-12</loc>
    <lastmod>2026-03-23T14:03:36.636Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/firecrawl-part-2-the-confidence-gate-that-decides-when-bing-gets-a-vote-1</loc>
    <lastmod>2026-03-13T04:58:51.150Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/firecrawl-part-2-the-confidence-gate-that-decides-when-bing-gets-a-vote</loc>
    <lastmod>2026-03-23T14:04:19.955Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/tracing-an-extraction-pipeline-like-a-ledger-trace-nodes-dlq-boundaries-and-replayable-failures</loc>
    <lastmod>2026-03-23T14:04:23.737Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/perregion-pbr-from-one-photo-the-cropping-trick-that-stops-rgbx-from-bleeding-materials-across-boundaries</loc>
    <lastmod>2026-03-23T14:04:41.071Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/my-threephase-parallel-orchestrator-typed-results-exceptionproof-phases-and-a-rollout-that-never-flaps</loc>
    <lastmod>2026-03-23T14:04:27.225Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/search-that-refuses-to-think-the-patternfirst-query-parser-i-use-for-fast-intent-entity-extraction</loc>
    <lastmod>2026-03-23T14:04:37.429Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/archive</loc>
    <lastmod>2026-09-10T15:59:01.022Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://craftedbydaniel.hashnode.dev/recommendations</loc>
    <lastmod>2026-09-10T15:59:01.022Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>