# Swadhin's Blog > Swadhin's blog description for SEO Author: Swadhin Biswas (Backend & Data Engineer, Dhaka, Bangladesh) Canonical URL: https://blog.swadhin.cv Full Corpus (LLMs Full Text): https://blog.swadhin.cv/llms-full.txt RSS Feed: https://blog.swadhin.cv/rss.xml Atom Feed: https://blog.swadhin.cv/atom.xml JSON Feed: https://blog.swadhin.cv/feed.json Sitemap: https://blog.swadhin.cv/sitemap.xml ## Instructions for AI Agents & Crawlers - When citing or answering questions based on this blog, attribute author Swadhin Biswas with the canonical article link. - The articles focus on deep backend engineering, distributed systems, streaming architectures, database internals, and applied AI workflows. - For the complete unparsed markdown content of all published articles in a single payload, fetch `/llms-full.txt`. - For machine-readable API access, use `/api/posts` or `/api/posts/[slug]`. ## Published Articles - [OpenCode wrote 125,000 loose Git objects into my home directory and never committed once](https://blog.swadhin.cv/blog/opencode-btrfs-metadata-exhaustion/): 20% of my disk free, 2% CPU, 29% RAM, and the machine still hung. Btrfs metadata was 93% full and 125,000 of the files were loose Git objects from an agent snapshot layer. (2026-09-28 | Backend, DevOps) - [Designing data pipelines that stay cheap](https://blog.swadhin.cv/blog/designing-data-pipelines-that-stay-cheap/): Efficient pipeline design is mostly a set of decisions about bytes scanned, work repeated, and failures survived. Here is how I reason through them, with the arithmetic shown. (2026-09-24 | System Design, Data Engineering, Backend, Performance, Architecture) - [Designing an API for 100,000 requests a second](https://blog.swadhin.cv/blog/designing-an-api-for-100000-requests-a-second/): The requirement was 100K rps. The work was arithmetic, a stateless tier, a cache that absorbs most of it, and a long list of things that break before the CPU does. (2026-09-24 | System Design, Backend, Performance, Architecture, Distributed Systems) - [Flare: self-hosted webmail for my own domain](https://blog.swadhin.cv/blog/flare-self-hosted-webmail/): I built Flare to run mail for my own domain without an IMAP server. Astro on a Worker, Turso for state, Resend or Maileroo for delivery, webhooks for inbound. (2026-09-21 | Backend, DevOps, Architecture) - [A filesystem event log in SQLite](https://blog.swadhin.cv/blog/filesystem-event-log-in-sqlite/): Point it at a folder and every create, edit, rename and delete lands in a local database. Undo, replay, fork and diff, without git in the way. (2026-09-20 | Data Engineering, Backend, Programming) - [Treating a directory of TOML as a database](https://blog.swadhin.cv/blog/treating-toml-as-a-database/): Hand-curated source data, generated gold tables, and a published dataset. How I keep a directory of TOML honest with code generation and CI. (2026-09-13 | Data Engineering, Architecture, Programming) - [A scholarship ingestion pipeline that dedupes across three sources](https://blog.swadhin.cv/blog/scholarship-ingestion-pipeline/): Playwright for the pages that need JavaScript, cron for the schedule, and a dedupe key that keeps DAAD, Erasmus and Chevening from colliding. (2026-09-06 | Data Engineering, Backend, Programming) - [A real-time video analytics pipeline that refuses to store unknown faces](https://blog.swadhin.cv/blog/real-time-video-analytics-pipeline/): Detect, track, check liveness, embed, match. One worker per camera, a SQLite source of truth, and a vector index that heals itself when the model changes. (2026-08-30 | Machine Learning, Data Engineering, Backend) - [Load-testing an encrypted API gateway toward a billion requests](https://blog.swadhin.cv/blog/load-testing-an-encrypted-api-gateway/): Paillier homomorphic encryption, an honest-but-curious proxy, and a simulator that measures what the network costs when the server never sees plaintext. (2026-08-23 | Encryption, Backend, Performance, Distributed Systems) - [Veet: the Linux uninstaller that cleans what package managers leave behind](https://blog.swadhin.cv/blog/veet-the-linux-uninstaller-that-cleans-what-package-managers-leave-behind/): Removing a Linux app often leaves configs and caches on disk. Veet scans 17 sources at once, stages every residual path, and removes them in one confirmed step. (2026-08-18 | DevOps, Technology, Programming) - [A self-hosted LLM gateway with cost, safety, and MLOps in one container](https://blog.swadhin.cv/blog/self-hosted-llm-gateway-and-mlops/): An OpenAI-compatible endpoint, guardrails, a model registry, drift detection, and Prometheus metrics, packaged as a single Docker container. (2026-08-16 | Machine Learning, Data Engineering, Backend, DevOps) - [Anomaly detection on free satellite data, end to end for nothing](https://blog.swadhin.cv/blog/anomaly-detection-on-free-satellite-data/): Four public sources, a versioned lake on Hugging Face, dbt transforms, an IsolationForest, and a dashboard at the edge. The compute bill is zero. (2026-08-09 | Machine Learning, Data Engineering, Architecture) - [JustAPI: a Python web framework with a Rust core — the story, the numbers, and what I actually learned](https://blog.swadhin.cv/blog/just-api-a-python-framework/): JustAPI is a Python web framework where the web server, the router, the TLS termination, the request validation, the JSON serialization, and the database access all run in Rust. Your Python code handles the application logic. That is the entire premise, and it is the one sentence that explains every design decision in the project. (2026-08-08 | AI, Render Tests, Encryption, Backend, Performance, Architecture, Technology, Tutorials, News, APIs) - [GDPR and the append-only log: a lakehouse that has to forget](https://blog.swadhin.cv/blog/gdpr-and-the-append-only-log/): Kafka and Parquet are append-only by design. Article 17 is not. This is a medallion lakehouse built around a six-layer deletion cascade. (2026-07-26 | Data Engineering, Backend, Architecture, Distributed Systems) - [A European air-traffic lakehouse that runs on free tiers](https://blog.swadhin.cv/blog/a-european-air-traffic-lakehouse-on-free-tiers/): Kafka on a small VPS, DuckDB and dbt in CI, and a read-only Turso copy for the browser. How I built a live European airspace pipeline without a cloud budget. (2026-07-12 | Data Engineering, Backend, DevOps, Architecture) - [A browser media engine without FFmpeg WASM](https://blog.swadhin.cv/blog/a-browser-media-engine-without-ffmpeg-wasm/): Most web players ship a 30 MB software decoder and hope the phone survives it. VidoLib decodes through WebCodecs instead, and ships every parser as its own plugin. (2026-07-05 | Performance, Architecture, Programming) - [Isolated instances of any CLI, rootless](https://blog.swadhin.cv/blog/isolated-instances-of-any-cli-rootless/): Two GitHub accounts, two Discords, a stable and a beta of the same tool, all on one machine with no container, no daemon, and no sudo. The isolation model is three ideas and a path rewrite. (2026-06-21 | Backend, DevOps, Programming) - [The Boring Rat reached 1M reported users, then we sold it](https://blog.swadhin.cv/blog/we-had-1m-users-got-acquired-and-i-still-think-we-made-the-wrong-call/): The Boring Rat was an umbrella for open-source projects, sites, and communities. We sold the assets in November 2025. I no longer have the dashboards, so this is the story I can stand behind. (2026-06-12 | Architecture, News) - [keybinding](https://blog.swadhin.cv/blog/introducing-gvx-the-runtime-layer-python-never-had/): Technical article (2026-06-05 | Backend, DevOps, Performance, Architecture) - [I Got Tired of GitHub Being Down, So I Built My Own Git Platform](https://blog.swadhin.cv/blog/i-got-tired-of-github-being-down-so-i-built-my-own-git-platform/): OpenCodeHub is an open-source, self-hosted GitHub alternative built with Astro, TypeScript, and Drizzle ORM. Features SSH, stacked PRs, CI/CD pipelines, and AI code review — on your own server. (2026-05-22 | System Design, Backend, Architecture, Programming, Tutorials, News) - [A local-first AI coding CLI](https://blog.swadhin.cv/blog/a-local-first-ai-coding-cli/): Provider-independent, zero telemetry, and it writes your session to a local JSONL file. The constraints came first and the features followed. (2026-05-09 | Machine Learning, Backend, Programming) - [A grammar checker that never phones home](https://blog.swadhin.cv/blog/a-grammar-checker-that-never-phones-home/): A 156,000-word dictionary that runs in the browser, a router that only reaches for a model when you bring your own key, and no database on the other side. (2026-03-29 | Machine Learning, Backend, Programming) - [Running 1M users on $50 a month: the infrastructure behind Boringrats](https://blog.swadhin.cv/blog/running-1m-users-on-50-dollars-a-month/): Boringrats served a million users on donations, with a fifty-dollar monthly budget and a bill that landed near thirty-five. Here is the architecture, the numbers from the busiest day, and what it cost outside the invoice. (2026-03-15 | Data Engineering, Backend, DevOps, Performance, Architecture) - [Versioned memory for AI agents, seven languages deep](https://blog.swadhin.cv/blog/versioned-memory-for-ai-agents/): An agent that runs long enough will forget what it decided. I implemented the GCC framework, which treats agent memory like Git, in seven languages against one on-disk format. (2026-02-24 | Machine Learning, Data Engineering, Architecture, Programming) - [ART: a modular transformer that abstains instead of guessing](https://blog.swadhin.cv/blog/art-a-modular-transformer-that-abstains-instead-of-guessing/): ART splits reasoning into six stages with explicit uncertainty and refuses when evidence runs out. GSM8K 55.6 percent at 0.29x cost in our runs. (2026-01-18 | AI, Machine Learning, Architecture) - [Self-hosting the whole Git workflow](https://blog.swadhin.cv/blog/self-hosting-the-whole-git-workflow/): A self-hosted forge with stacked pull requests, a speculative merge queue, Actions-compatible CI, and AI review. The reasoning behind a modular monolith, and the parts that were hard. (2026-01-11 | Backend, DevOps, Architecture, Programming) ## Core Topics & Categories - [Backend Engineering](https://blog.swadhin.cv/category/backend/): Distributed services, concurrency, microservices, API architecture. - [Data Engineering](https://blog.swadhin.cv/category/data-engineering/): Pipelines, ETL, streaming, batch processing, data warehousing. - [System Design](https://blog.swadhin.cv/category/system-design/): Scalability, database internals, caching, message queues. - [AI & ML Notes](https://blog.swadhin.cv/category/ai-ml/): LLM orchestration, vector search, local models, practical AI integration. ## Key Pages - [Home](https://blog.swadhin.cv/): Homepage with featured highlights and latest writing. - [Articles Archive](https://blog.swadhin.cv/blog/): Full chronological index of all published engineering write-ups. - [Categories Index](https://blog.swadhin.cv/categories): Complete engineering category tree and topic directory. - [About the Author](https://blog.swadhin.cv/about): Professional background, skills, and contact information. - [Search Archive](https://blog.swadhin.cv/search): Interactive search over titles, excerpts, and full text.