<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Md. Musfiqur Rahaman - Engineering writing</title><description>Long-form engineering notes on distributed systems, multi-tenant architecture, delivery guarantees, AI pipelines and release automation.</description><link>https://musfiqdehan.com</link><language>en-us</language><copyright>© 2026 Md. Musfiqur Rahaman</copyright><image><url>https://musfiqdehan.com/og/blog.png</url><title>Md. Musfiqur Rahaman</title><link>https://musfiqdehan.com/</link></image><item><title>Selling With the Wi-Fi Down: An Offline-First POS in Tauri 2.0</title><link>https://musfiqdehan.com/blog/offline-first-pos-tauri-sync-outbox</link><guid isPermaLink="true">https://musfiqdehan.com/blog/offline-first-pos-tauri-sync-outbox</guid><description>A till that stops working when the internet does is a till that loses money. Here is the outbox-plus-idempotency contract that lets a Tauri desktop POS sell offline and replay safely into a Django backend - without double-charging anyone.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><category>Tauri</category><category>React</category><category>SQLite</category><category>Django</category><category>Offline-First</category><category>Idempotency</category><category>PostgreSQL</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>Decomposing a Monolith Without a Rewrite</title><link>https://musfiqdehan.com/blog/decomposing-a-monolith-without-a-rewrite</link><guid isPermaLink="true">https://musfiqdehan.com/blog/decomposing-a-monolith-without-a-rewrite</guid><description>Seams before services. How to extract modular services from a legacy monolith incrementally - with the data ownership rule, the strangler pattern, and an honest list of what you give up the moment a function call becomes a network call.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>Microservices</category><category>Django</category><category>Refactoring</category><category>Leadership</category><category>Docker</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>Leases Over Locks: A Crash-Safe Work Queue in PostgreSQL</title><link>https://musfiqdehan.com/blog/lease-based-url-frontier-postgres</link><guid isPermaLink="true">https://musfiqdehan.com/blog/lease-based-url-frontier-postgres</guid><description>How FOR UPDATE SKIP LOCKED plus expiring leases gives you a distributed, crash-safe work queue without adding a broker to your architecture - with the reaper, backoff and priority scheduling that make it production-grade.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>PostgreSQL</category><category>Distributed Systems</category><category>Queues</category><category>Python</category><category>Concurrency</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>Four Stages of Deduplication: Spend Your Compute Where It Matters</title><link>https://musfiqdehan.com/blog/four-stage-deduplication-pipeline</link><guid isPermaLink="true">https://musfiqdehan.com/blog/four-stage-deduplication-pipeline</guid><description>A cost-ordered cascade - URL hash, content hash, SimHash banding, then BGE-M3 semantic comparison - that kills the vast majority of duplicates with an index lookup and reserves embeddings for genuinely ambiguous pairs.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate><category>Deduplication</category><category>SimHash</category><category>Embeddings</category><category>pgvector</category><category>Multilingual NLP</category><category>PostgreSQL</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>At-Least-Once Is a Promise You Have to Keep</title><link>https://musfiqdehan.com/blog/at-least-once-redis-streams</link><guid isPermaLink="true">https://musfiqdehan.com/blog/at-least-once-redis-streams</guid><description>Redis Streams consumer groups give you delivery guarantees; they do not give you correctness. What idempotent handlers, delayed retries, dead-letter streams and stale-message reclaim actually look like in production.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate><category>Redis</category><category>Streams</category><category>Reliability</category><category>Python</category><category>Idempotency</category><category>Queues</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>Schema-per-Tenant Django: Isolation You Cannot Forget to Apply</title><link>https://musfiqdehan.com/blog/schema-per-tenant-django-multi-tenancy</link><guid isPermaLink="true">https://musfiqdehan.com/blog/schema-per-tenant-django-multi-tenancy</guid><description>Row-level tenancy is one missing WHERE clause away from a data breach. Schema-per-tenant moves isolation from something developers remember into something the database enforces - and here is what it costs.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>Django</category><category>PostgreSQL</category><category>Multi-Tenancy</category><category>SaaS</category><category>RBAC</category><category>Architecture</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>Holding 10k Daily Users Before You Buy a Bigger Server</title><link>https://musfiqdehan.com/blog/holding-10k-dau-before-you-scale-up</link><guid isPermaLink="true">https://musfiqdehan.com/blog/holding-10k-dau-before-you-scale-up</guid><description>Connection exhaustion, N+1 queries, missing composite indexes and recomputed dashboards - the four things that actually limited a Django SaaS, and why PgBouncer came before hardware.</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate><category>PostgreSQL</category><category>PgBouncer</category><category>Django</category><category>Performance</category><category>Redis</category><category>Deployment</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>One API, Three Clients: A Dashboard, a Phone and a Turnstile</title><link>https://musfiqdehan.com/blog/one-api-three-clients</link><guid isPermaLink="true">https://musfiqdehan.com/blog/one-api-three-clients</guid><description>What changes when the same backend has to serve a React dashboard, a React Native app and a biometric device on a gym LAN - untrusted clocks, offline buffers, and why the hardware client reshaped the API contract.</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate><category>API Design</category><category>Django</category><category>React Native</category><category>IoT</category><category>Offline Sync</category><category>WebSocket</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>Let the Agent Propose, Not Write</title><link>https://musfiqdehan.com/blog/let-the-agent-propose-not-write</link><guid isPermaLink="true">https://musfiqdehan.com/blog/let-the-agent-propose-not-write</guid><description>The single boundary that separates an LLM feature you can point at production data from a demo you cannot - plus schema-validated extraction, provider fallback and cost accounting as engineering concerns rather than prompt concerns.</description><pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate><category>LLM</category><category>Agents</category><category>Gemini</category><category>LangChain</category><category>Reliability</category><category>Architecture</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item><item><title>A Release Should Be One Git Tag</title><link>https://musfiqdehan.com/blog/tag-driven-python-releases</link><guid isPermaLink="true">https://musfiqdehan.com/blog/tag-driven-python-releases</guid><description>Every manual step in a release is a step someone will skip at 11pm. How tag-driven CI, generated changelogs, semantic versioning and Poetry lockfiles turned publishing a Python package into a single command.</description><pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate><category>Python</category><category>Poetry</category><category>GitHub Actions</category><category>CI/CD</category><category>Open Source</category><category>Versioning</category><author>musfiqdehan@gmail.com (Md. Musfiqur Rahaman)</author></item></channel></rss>