<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://relu.chat/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/how-it-works.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/chat/data-science-chat/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/chat/game-theory-chat/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/chat/golden-age-inquiry/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/blog/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/blog/accessibility-ai-chatbots-wcag/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/accessibility-ai-chatbots-wcag.png</image:loc>
      <image:caption>Accessibility in AI Chatbots: WCAG Compliance for Conversational UI</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/bias-in-retrieval-chatbots/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/bias-in-retrieval-chatbots.png</image:loc>
      <image:caption>Bias in Retrieval Chatbots: Where It Comes From and How to Audit It</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/bm25-browser-field-weighted-retrieval/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/bm25-browser-field-weighted-retrieval.png</image:loc>
      <image:caption>BM25 in the Browser: Field-Weighted Sparse Retrieval Without a Server</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/bm25-math-worked-example/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-04</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/bm25-math-worked-example.png</image:loc>
      <image:caption>The Math of BM25: A Worked Example of Sparse Retrieval</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/bm25-vs-dense-retrieval/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-09</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/bm25-vs-dense.png</image:loc>
      <image:caption>BM25 vs Dense Retrieval: Why We Use Both for Browser Chatbots</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/browser-vector-math-optimization/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/browser-vector-math-optimization.png</image:loc>
      <image:caption>Cosine Similarity in JavaScript: Real Cost and Optimizations</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/chunking-strategies-knowledge-base/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/chunking-strategies-knowledge-base.png</image:loc>
      <image:caption>Chunking Strategies for Knowledge Bases: Splitting Text for Retrieval</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/conversation-state-machines/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/conversation-state-machines.png</image:loc>
      <image:caption>Conversation State Machines: Modes, Intents and Follow-Up Routing</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/cosine-similarity-vector-search/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-02</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/cosine-similarity-vector-search.png</image:loc>
      <image:caption>Cosine Similarity and Vector Search: Math for Semantic Retrieval</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/debugging-browser-ml/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/debugging-browser-ml.png</image:loc>
      <image:caption>Debugging In-Browser ML: Profiling, Logging and Graceful Fallbacks</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/dense-sparse-ensemble-ranking/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/dense-sparse-ensemble-ranking.png</image:loc>
      <image:caption>Dense-Sparse Ensemble Ranking: Combining BM25 and Embeddings</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/float32-vs-float64-precision/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/float32-vs-float64-precision.png</image:loc>
      <image:caption>Float32 vs Float64: Precision Trade-Offs for In-Browser ML</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/follow-up-detection-20-patterns/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/follow-up-detection-20-patterns.png</image:loc>
      <image:caption>Follow-Up Detection: 20 Patterns That Make Chatbots Conversational</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/heuristic-fallback-cold-start/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-03</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/heuristic-fallback.png</image:loc>
      <image:caption>Heuristic Fallback for Cold Start: Graceful Degradation in Browser AI</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/how-browser-based-chatbots-work/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-05-20</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/browser-chatbots.png</image:loc>
      <image:caption>How Browser-Based Chatbots Work: A Deep Dive into On-Device NLP</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/indexeddb-client-storage/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/indexeddb-client-storage.png</image:loc>
      <image:caption>IndexedDB for On-Device AI: Embeddings and Session Storage</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/int8-quantization-browser-mlp/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/int8-quantization-browser-mlp.png</image:loc>
      <image:caption>Int8 Quantization in the Browser: How We Made MLP Inference 4x Faster</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/int8-quantization-explained/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-03</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/int8-quantization-explained.png</image:loc>
      <image:caption>INT8 Quantization: From FP32 to 8-Bit Without Losing Accuracy</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/katex-vs-mathjax-math-rendering/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-03</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/katex-vs-mathjax-math-rendering.png</image:loc>
      <image:caption>KaTeX vs MathJax: Rendering Math in the Browser</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/knowledge-base-fragments-fields-metadata/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/knowledge-base-fragments-fields-metadata.png</image:loc>
      <image:caption>How Knowledge Bases Are Structured: Fragments, Fields and Metadata</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/knowledge-fragment-composition/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/fragment-composition.png</image:loc>
      <image:caption>Knowledge Fragment Composition: Retrieval Over Generation</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/latency-budgets-conversational-ui/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-03</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/latency-budgets-conversational-ui.png</image:loc>
      <image:caption>Latency Budgets for Conversational UI: The 400ms Response Rule</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/linguistic-connectors-naturalness/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-02</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/linguistic-connectors.png</image:loc>
      <image:caption>Linguistic Connectors: Making Retrieval Bots Sound Human</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/memory-leaks-long-chat-sessions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-02</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/memory-leaks-long-chat-sessions.png</image:loc>
      <image:caption>Memory Management in Long Browser Chat Sessions: Avoiding Leaks</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/model-size-vs-quality/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/model-size-vs-quality.png</image:loc>
      <image:caption>Model Size vs Quality: When a Small Model Beats a Big One</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/named-entity-recognition-no-llm/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-04</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/named-entity-recognition-no-llm.png</image:loc>
      <image:caption>Named Entity Recognition Without an LLM: Regex and Fuzzy Matching</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/offline-first-chat-architecture/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/offline-first-chat-architecture.png</image:loc>
      <image:caption>Offline-First Chat Architecture: Queues, Retries and Sync-Free Design</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/onnx-runtime-web-quantization/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-10</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/onnx-quantization.png</image:loc>
      <image:caption>ONNX Runtime Web and INT8 Quantization: How 90MB Models Become 22MB</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/ppo-reward-design-policy-network/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-04</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/ppo-reward-design.png</image:loc>
      <image:caption>PPO and Reward Design for Chatbot Policy Networks</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/privacy-checklist-browser-ai/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-05</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/privacy-checklist-browser-ai.png</image:loc>
      <image:caption>Privacy Checklist for Browser-Based AI: What Leaves Your Device</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/privacy-first-ai-browsers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-05-25</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/privacy-ai.jpg</image:loc>
      <image:caption>Privacy-First AI: Why Browser-Based Machine Learning Matters</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/progressive-loading-bow-mlp-transformer/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/progressive-loading-bow-mlp-transformer.png</image:loc>
      <image:caption>Progressive Loading: BOW to MLP to Transformer in 3 Stages</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/progressive-streaming-rendering-chatbots/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/progressive-streaming-rendering-chatbots.png</image:loc>
      <image:caption>Progressive Streaming Rendering: Making Chatbots Feel Native</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/prototype-intent-classification/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-01</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/prototype-intent-classification.png</image:loc>
      <image:caption>Intent Classification with Prototype Embeddings, No LLM</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/query-expansion-without-llm/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/query-expansion-without-llm.png</image:loc>
      <image:caption>Query Expansion Without an LLM: Synonyms, Spelling and Boosting</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/reinforcement-learning-for-chatbots/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-05-22</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/rl-chatbots.png</image:loc>
      <image:caption>Training Chatbots with Reinforcement Learning: The ReLU.chat Approach</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/retrieval-metrics-precision-recall-mrr/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/retrieval-metrics-precision-recall-mrr.png</image:loc>
      <image:caption>Measuring Retrieval Quality: Precision, Recall, MRR and NDCG</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/sentence-embeddings-384-dim-minilm/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-05</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/sentence-embeddings.png</image:loc>
      <image:caption>Sentence Embeddings Explained: Why 384 Dimensions and What They Mean</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/sentence-vs-word-embeddings/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-01</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/sentence-vs-word.png</image:loc>
      <image:caption>Sentence Embeddings vs Word Embeddings: Why We Embed Whole Questions</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/service-worker-caching-strategies/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-02</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/service-worker-caching-strategies.png</image:loc>
      <image:caption>Service Worker Caching Strategies for ML Assets</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/service-worker-model-pre-caching/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/service-worker-model-pre-caching.png</image:loc>
      <image:caption>Service Worker Model Pre-Caching: Zero-Wait Chatbot Loading</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/service-workers-offline-ai/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-08</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/service-worker-pwa.png</image:loc>
      <image:caption>Service Workers and PWA Caching for Offline AI Chatbots</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/session-memory-architecture-30-turns/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/session-memory-architecture-30-turns.png</image:loc>
      <image:caption>Session Memory Architecture: 30 Turns of Context Without a Server</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/tokenization-subword-bpe-on-device/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-01</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/tokenization-subword-bpe-on-device.png</image:loc>
      <image:caption>Subword Tokenization for On-Device NLP: How BPE Works</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/topic-correction-when-users-redirect/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-30</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/topic-correction-when-users-redirect.png</image:loc>
      <image:caption>Topic Correction: When Users Say &#39;No, I Meant X&#39;</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/web-workers-ui-thread/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-01</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/web-workers-ui-thread.png</image:loc>
      <image:caption>Web Workers: Keeping the UI Thread Responsive During Inference</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/webassembly-browser-ml/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-04</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/webassembly-browser-ml.png</image:loc>
      <image:caption>WebAssembly and On-Device ML: Why WASM Makes Browser AI Fast</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/blog/webgpu-future-browser-inference/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-06-07</lastmod>
    <image:image>
      <image:loc>https://relu.chat/assets/blog/webgpu-inference.png</image:loc>
      <image:caption>WebGPU and the Future of In-Browser AI Inference</image:caption>
      <image:license>https://opensource.org/licenses/MIT</image:license>
    </image:image>
  </url>
  <url>
    <loc>https://relu.chat/tools/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/tools/activation-functions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/tools/backpropagation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/tools/decision-tree/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/tools/gradient-descent/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/tools/k-means-clustering/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
  <url>
    <loc>https://relu.chat/tools/neural-network/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <lastmod>2026-08-06</lastmod>
  </url>
</urlset>
