<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
  <url>
    <loc>https://blog.swadhin.cv/blog/opencode-btrfs-metadata-exhaustion/</loc>
    <lastmod>2026-09-28T11:08:45.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-28T11:08:45.170Z</news:publication_date>
      <news:title>OpenCode wrote 125,000 loose Git objects into my home directory and never committed once</news:title>
      <news:keywords>Backend, DevOps</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/designing-data-pipelines-that-stay-cheap/</loc>
    <lastmod>2026-09-23T20:32:27.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-24T15:00:00.000Z</news:publication_date>
      <news:title>Designing data pipelines that stay cheap</news:title>
      <news:keywords>System Design, Data Engineering, Backend, Performance, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/designing-an-api-for-100000-requests-a-second/</loc>
    <lastmod>2026-09-23T20:17:57.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-24T10:00:00.000Z</news:publication_date>
      <news:title>Designing an API for 100,000 requests a second</news:title>
      <news:keywords>System Design, Backend, Performance, Architecture, Distributed Systems</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/flare-self-hosted-webmail/</loc>
    <lastmod>2026-09-21T13:28:52.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-21T12:49:27.780Z</news:publication_date>
      <news:title>Flare: self-hosted webmail for my own domain</news:title>
      <news:keywords>Backend, DevOps, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/filesystem-event-log-in-sqlite/</loc>
    <lastmod>2026-09-23T12:05:47.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-20T10:00:00.000Z</news:publication_date>
      <news:title>A filesystem event log in SQLite</news:title>
      <news:keywords>Data Engineering, Backend, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/treating-toml-as-a-database/</loc>
    <lastmod>2026-09-23T12:05:56.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-13T10:00:00.000Z</news:publication_date>
      <news:title>Treating a directory of TOML as a database</news:title>
      <news:keywords>Data Engineering, Architecture, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/scholarship-ingestion-pipeline/</loc>
    <lastmod>2026-09-23T12:05:53.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-09-06T10:00:00.000Z</news:publication_date>
      <news:title>A scholarship ingestion pipeline that dedupes across three sources</news:title>
      <news:keywords>Data Engineering, Backend, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/real-time-video-analytics-pipeline/</loc>
    <lastmod>2026-09-23T12:05:51.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-08-30T10:00:00.000Z</news:publication_date>
      <news:title>A real-time video analytics pipeline that refuses to store unknown faces</news:title>
      <news:keywords>Machine Learning, Data Engineering, Backend</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/load-testing-an-encrypted-api-gateway/</loc>
    <lastmod>2026-09-23T12:05:50.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-08-23T10:00:00.000Z</news:publication_date>
      <news:title>Load-testing an encrypted API gateway toward a billion requests</news:title>
      <news:keywords>Encryption, Backend, Performance, Distributed Systems</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/veet-the-linux-uninstaller-that-cleans-what-package-managers-leave-behind/</loc>
    <lastmod>2026-09-21T13:08:48.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-08-18T10:00:00.000Z</news:publication_date>
      <news:title>Veet: the Linux uninstaller that cleans what package managers leave behind</news:title>
      <news:keywords>DevOps, Technology, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/self-hosted-llm-gateway-and-mlops/</loc>
    <lastmod>2026-09-23T12:05:54.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-08-16T10:00:00.000Z</news:publication_date>
      <news:title>A self-hosted LLM gateway with cost, safety, and MLOps in one container</news:title>
      <news:keywords>Machine Learning, Data Engineering, Backend, DevOps</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/anomaly-detection-on-free-satellite-data/</loc>
    <lastmod>2026-09-23T12:05:45.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-08-09T10:00:00.000Z</news:publication_date>
      <news:title>Anomaly detection on free satellite data, end to end for nothing</news:title>
      <news:keywords>Machine Learning, Data Engineering, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/just-api-a-python-framework/</loc>
    <lastmod>2026-08-08T18:19:06.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-08-08T18:19:06.325Z</news:publication_date>
      <news:title>JustAPI: a Python web framework with a Rust core — the story, the numbers, and what I actually learned</news:title>
      <news:keywords>AI, Render Tests, Encryption, Backend, Performance, Architecture, Technology, Tutorials, News, APIs</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/gdpr-and-the-append-only-log/</loc>
    <lastmod>2026-09-23T12:05:48.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-07-26T10:00:00.000Z</news:publication_date>
      <news:title>GDPR and the append-only log: a lakehouse that has to forget</news:title>
      <news:keywords>Data Engineering, Backend, Architecture, Distributed Systems</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/a-european-air-traffic-lakehouse-on-free-tiers/</loc>
    <lastmod>2026-09-23T12:05:43.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-07-12T10:00:00.000Z</news:publication_date>
      <news:title>A European air-traffic lakehouse that runs on free tiers</news:title>
      <news:keywords>Data Engineering, Backend, DevOps, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/a-browser-media-engine-without-ffmpeg-wasm/</loc>
    <lastmod>2026-09-23T12:25:22.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-07-05T10:00:00.000Z</news:publication_date>
      <news:title>A browser media engine without FFmpeg WASM</news:title>
      <news:keywords>Performance, Architecture, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/isolated-instances-of-any-cli-rootless/</loc>
    <lastmod>2026-09-23T12:25:20.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-06-21T10:00:00.000Z</news:publication_date>
      <news:title>Isolated instances of any CLI, rootless</news:title>
      <news:keywords>Backend, DevOps, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/we-had-1m-users-got-acquired-and-i-still-think-we-made-the-wrong-call/</loc>
    <lastmod>2026-09-25T10:52:15.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-06-12T10:57:36.729Z</news:publication_date>
      <news:title>The Boring Rat reached 1M reported users, then we sold it</news:title>
      <news:keywords>Architecture, News</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/introducing-gvx-the-runtime-layer-python-never-had/</loc>
    <lastmod>2026-06-09T06:55:31.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-06-05T10:00:00.000Z</news:publication_date>
      <news:title>keybinding</news:title>
      <news:keywords>Backend, DevOps, Performance, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/i-got-tired-of-github-being-down-so-i-built-my-own-git-platform/</loc>
    <lastmod>2026-06-05T16:07:08.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-05-22T09:02:22.444Z</news:publication_date>
      <news:title>I Got Tired of GitHub Being Down, So I Built My Own Git Platform</news:title>
      <news:keywords>System Design, Backend, Architecture, Programming, Tutorials, News</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/a-local-first-ai-coding-cli/</loc>
    <lastmod>2026-09-23T12:25:18.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-05-09T10:00:00.000Z</news:publication_date>
      <news:title>A local-first AI coding CLI</news:title>
      <news:keywords>Machine Learning, Backend, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/a-grammar-checker-that-never-phones-home/</loc>
    <lastmod>2026-09-23T12:25:17.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-03-29T10:00:00.000Z</news:publication_date>
      <news:title>A grammar checker that never phones home</news:title>
      <news:keywords>Machine Learning, Backend, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/running-1m-users-on-50-dollars-a-month/</loc>
    <lastmod>2026-09-23T11:32:23.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-03-15T10:00:00.000Z</news:publication_date>
      <news:title>Running 1M users on $50 a month: the infrastructure behind Boringrats</news:title>
      <news:keywords>Data Engineering, Backend, DevOps, Performance, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/versioned-memory-for-ai-agents/</loc>
    <lastmod>2026-09-23T12:25:15.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-02-24T10:00:00.000Z</news:publication_date>
      <news:title>Versioned memory for AI agents, seven languages deep</news:title>
      <news:keywords>Machine Learning, Data Engineering, Architecture, Programming</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/art-a-modular-transformer-that-abstains-instead-of-guessing/</loc>
    <lastmod>2026-09-21T13:08:45.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-01-18T10:00:00.000Z</news:publication_date>
      <news:title>ART: a modular transformer that abstains instead of guessing</news:title>
      <news:keywords>AI, Machine Learning, Architecture</news:keywords>
    </news:news>
  </url>
  <url>
    <loc>https://blog.swadhin.cv/blog/self-hosting-the-whole-git-workflow/</loc>
    <lastmod>2026-09-23T12:25:13.000Z</lastmod>
    <news:news>
      <news:publication>
        <news:name>Swadhin&apos;s Blog</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>Blog</news:genres>
      <news:publication_date>2026-01-11T10:00:00.000Z</news:publication_date>
      <news:title>Self-hosting the whole Git workflow</news:title>
      <news:keywords>Backend, DevOps, Architecture, Programming</news:keywords>
    </news:news>
  </url>
</urlset>