# Md. Musfiqur Rahaman — Full Stack, Backend, AI and DevOps Engineer > Senior Full Stack Software Engineer based in Badda, Dhaka, Bangladesh, with 5+ years running systems > in production. Builds the software businesses depend on: platforms serving 10,000+ people a day > without a bigger server, retail tills that keep selling through internet outages, bulk email that > never sends twice, and customer onboarding automated down to a single pipeline run. Works across > the whole slice — data model and API through to CI/CD, containers and zero-downtime deployment. > Primary stack: Python, Django, Django REST Framework, FastAPI, PostgreSQL, Redis, Celery, Docker, > AWS, React and Next.js. This is the personal site and engineering weblog of Md. Musfiqur Rahaman (handle: musfiqdehan). It is a static Astro build: every route returns complete server-rendered HTML with no client-side routing or hydration required, so a plain HTTP GET is always sufficient. For the full text of every case study and article in a single request, fetch https://musfiqdehan.com/llms-full.txt. ## Key facts - **Name**: Md. Musfiqur Rahaman (also written Musfiqur Rahaman, Mushfiqur Rahman) - **Current role**: Senior Full Stack Software Engineer at TechForing Ltd., Jan 2026 to present - **Location**: Badda, Dhaka, Bangladesh, timezone Asia/Dhaka (UTC+6) - **Email**: musfiqdehan@gmail.com - **Availability**: Open to work - backend, platform, AI and full stack engineering - **Languages**: English, Bangla - **Roles covered**: Full Stack Software Engineer; Backend Engineer; AI Engineer; DevOps Engineer; Software Engineer - **Education**: Master's in Information Technology, IIT, University of Dhaka (Jan 2023 to Apr 2026); BSc. in Computer Science & Engineering, North South University (Jan 2018 to Jun 2022) ## Pages - [Home](https://musfiqdehan.com/): Overview, the interactive role console, and a live architecture diagram of the systems he builds. - [Work](https://musfiqdehan.com/projects): 4 engineering case studies, each written as problem, solution and measurable result, opening with a plain-language summary. - [About](https://musfiqdehan.com/about): Working principles and their business consequences, career timeline, and the same experience mapped onto five job titles. - [Resume](https://musfiqdehan.com/resume): Full employment history, a role-filterable skill matrix, and education. - [Writing](https://musfiqdehan.com/blog): 11 long-form engineering articles, each opening with a plain-language explanation of the problem and what it costs a business. - [Contact](https://musfiqdehan.com/contact): Contact channels, working preferences, and FAQ. ## Projects - [NewsCrawl](https://musfiqdehan.com/projects/newscrawl): A system that continuously collects news in two languages, recognises when six outlets have republished the same story, and makes the result searchable by meaning rather than keywords - built so a crashed machine or a failed AI provider delays the work by minutes instead of losing it. Stack: Python, FastAPI, Scrapy, Playwright, Redis Streams, PostgreSQL, pgvector, BGE-M3, Next.js, Docker, Prometheus, Grafana. - [ECamp](https://musfiqdehan.com/projects/ecamp): A bulk email platform where campaigns can be paused mid-send, a retry never emails the same person twice, and bounces and complaints are acted on automatically. Contact management is driven by plain language and voice, with the AI proposing changes and the application deciding whether they are allowed. Stack: Python, Django, DRF, Celery, Redis, AWS SES, AWS S3, Next.js, React, Docker, WebSocket, LangChain, Gemini API, Cloudflare. - [ZKTeco LAN Agent](https://musfiqdehan.com/projects/zkteco-lan-agent): A small program installed at customer sites that connects to fingerprint terminals which cannot reach the internet and forwards their attendance events to the cloud. Customers keep the hardware they already own, attendance is never lost or double-counted, and the server needed no changes at all. Stack: Python, Poetry, PyPI, ZKTeco SDK, ADMS HTTP, SQLite, systemd, Raspberry Pi, Linux. - [Data Preprocessors](https://musfiqdehan.com/projects/data-preprocessors): An open-source text-processing library published to three distribution channels, where the entire release is one command. Version numbers, release notes and builds are produced by automation rather than by someone remembering the steps at 11pm - the same approach I now use for customer-facing deployments. Stack: Python, Poetry, PyPI, Docker, GitHub Actions, Semantic Versioning. ## Writing - [Never Stop the Old Container First](https://musfiqdehan.com/blog/zero-downtime-blue-green-traefik) (2026-07-30, 15 min): A routine deploy costs about a minute of failed requests, because "update" quietly means stop-then-start. Here is the pipeline that ships to a single server without a customer ever seeing an error - no Kubernetes, no second load balancer, and a rollback that is the same path as the deploy. - [Selling With the Wi-Fi Down: An Offline-First POS in Tauri 2.0](https://musfiqdehan.com/blog/offline-first-pos-tauri-sync-outbox) (2026-07-29, 13 min): A till that stops working when the internet does is a till that loses money. Here is the contract that lets a desktop point of sale keep selling through an outage and reconcile exactly once when the connection returns - without ever charging a customer twice or losing a sale from the books. - [Decomposing a Monolith Without a Rewrite](https://musfiqdehan.com/blog/decomposing-a-monolith-without-a-rewrite) (2026-07-08, 11 min): Splitting a large codebase is usually sold as a rewrite and delivered as a disaster. Here is how to do it piece by piece while the product keeps shipping to customers - plus an honest account of what independent deployment actually costs you in return. - [Leases Over Locks: A Crash-Safe Work Queue in PostgreSQL](https://musfiqdehan.com/blog/lease-based-url-frontier-postgres) (2026-06-18, 10 min): How to get a crash-safe job queue out of the database you already run, instead of adding another service to operate, monitor and be woken up by. Workers claim jobs on a timed lease, so a machine dying halfway through costs minutes of delay rather than lost work. - [Four Stages of Deduplication: Spend Your Compute Where It Matters](https://musfiqdehan.com/blog/four-stage-deduplication-pipeline) (2026-05-27, 11 min): The expensive way to find duplicates is to compare everything using AI. Ordering the checks cheapest-first removes roughly nine in ten duplicates with a simple lookup and saves the costly comparison for the small remainder - the same quality of result, at a fraction of the running cost. - [At-Least-Once Is a Promise You Have to Keep](https://musfiqdehan.com/blog/at-least-once-redis-streams) (2026-05-06, 10 min): Retries are what stop a system losing work - and what make it do the same work twice. This is how to get the reliability without the duplicates: handlers safe to re-run, retries that back off, a dead-letter queue you can actually triage, and recovery for messages a crashed worker left behind. - [Schema-per-Tenant Django: Isolation You Cannot Forget to Apply](https://musfiqdehan.com/blog/schema-per-tenant-django-multi-tenancy) (2026-04-14, 12 min): Sharing one database between customers is one forgotten filter away from showing one client another client's data. Giving each customer their own separate space moves that safety from something developers must remember into something the database enforces - and here is exactly what it costs. - [Holding 10k Daily Users Before You Buy a Bigger Server](https://musfiqdehan.com/blog/holding-10k-dau-before-you-scale-up) (2026-03-19, 11 min): A platform went from a few hundred to 10,000+ daily users without a bigger server. Four fixes did all the work - and buying hardware first would have hidden every one of them while the monthly bill kept growing. - [One API, Three Clients: A Dashboard, a Phone and a Turnstile](https://musfiqdehan.com/blog/one-api-three-clients) (2026-02-24, 10 min): What changes when one backend must serve a web dashboard, a phone app, and a fingerprint terminal that cannot be updated, cannot be trusted about time and is usually offline. The most awkward client turned out to be the best specification the API ever got. - [Let the Agent Propose, Not Write](https://musfiqdehan.com/blog/let-the-agent-propose-not-write) (2026-01-29, 10 min): The single boundary that separates an AI feature you can safely point at real customer data from a demo you cannot: the model proposes, the application decides. Plus validated output, provider failover and cost tracking treated as engineering problems rather than prompting problems. - [A Release Should Be One Git Tag](https://musfiqdehan.com/blog/tag-driven-python-releases) (2025-12-11, 9 min): Every manual step in a release is a step somebody skips at 11pm - and the skipped step is the one customers find. How a forty-minute checklist became one command, with version numbers, release notes, builds and publishing all produced by automation. ## Experience - **Senior Full Stack Software Engineer**, TechForing Ltd. (Jan 2026 to Present, DOHS Baridhara, Dhaka): Leading the technical direction of a multi-tenant SaaS platform. The theme of the role is removing the things that slow a product company down: a codebase too tangled to change safely, customer onboarding that costs a day of engineering time, and repetitive work that should never have needed a person. - **Full Stack Software Engineer**, TechForing Ltd. (Jan 2025 to Dec 2025, DOHS Baridhara, Dhaka): Owned two things customers judge a business platform on - whether it reaches people, and whether it counts their hours correctly - plus the payment and identity integrations everything else depended on. - **Software Engineer**, Nimusoft Technologies Ltd. (May 2024 to Dec 2024, Middle Badda, Dhaka): Moved from executing tickets to shaping systems: sitting with leadership while requirements were still vague, turning them into an architecture, and staying accountable for the result across several products. - **Associate Software Engineer**, Nimusoft Technologies Ltd. (Jan 2024 to Apr 2024, Middle Badda, Dhaka): Django application work with a deliberate bias toward building things once and reusing them - the habit that made later projects cheaper. - **Software Engineer Intern**, NSU StartUps Next (Jul 2023 to Dec 2023, Bashundhara R/A, Dhaka): Built the incubator's own platform while advising the startups inside it - a fast education in shipping something useful while the requirements change every week. ## Skills - **Languages**: Python, JavaScript, TypeScript, Bash, C++, SQL - **Backend & APIs**: Django, Django REST Framework, FastAPI, Flask, WebSocket, Celery, Redis Streams, RabbitMQ - **Data & Storage**: PostgreSQL, pgvector, Redis, PgBouncer, MySQL, MongoDB, SQLite - **AI Engineering**: LangChain, LangGraph, CrewAI, Gemini API, Ollama, BGE-M3 Embeddings, Scikit-learn, Pandas, NumPy, Matplotlib - **Frontend**: React, Next.js, React Native, TailwindCSS, HTML & CSS, Bootstrap - **Automation & Scraping**: Scrapy, Playwright, Selenium, Beautiful Soup, n8n - **Cloud & DevOps**: Docker, GitHub Actions, Traefik, Nginx, Cloudflare, AWS (SES, S3, EC2), Linux / VPS / SSH, Prometheus, Grafana, Git & GitHub - **Practice & Process**: SDLC, AIDLC, TDD, Agile, Jira, Asana, GitHub Projects ## Profiles - [GitHub](https://github.com/musfiqdehan): @musfiqdehan - [LinkedIn](https://linkedin.com/in/musfiqdehan): in/musfiqdehan - [LeetCode](https://leetcode.com/musfiqdehan): @musfiqdehan - [Email](mailto:musfiqdehan@gmail.com): musfiqdehan@gmail.com ## Optional - [Full text of every page](https://musfiqdehan.com/llms-full.txt): All case studies and articles inlined as Markdown. - [RSS feed](https://musfiqdehan.com/rss.xml): New articles. - [Sitemap](https://musfiqdehan.com/sitemap-index.xml): Every indexable URL.