Notes on AI engineering, scaling backends, and lessons from building & shipping.
Webhooks look like the easiest thing in distributed systems, it is just an HTTP POST. Most implementations still quietly lose events, double-charge customers, and expose endpoints that process anything an attacker sends. Here is how to build both sides properly: transactional outbox, retries with backoff, HMAC verification, idempotent consumers, and the boring nightly reconciliation job that makes the whole thing trustworthy.
A weekend idea: what if a CV review felt less like feedback and more like getting dragged by four different people who all hate your resume for different reasons. 233 roasts and 23 battles later, here's the build behind getroasted.live: the model fallback chain, the persona system, and the guardrails that keep 'savage' from turning into 'reported'.
I'd been running Claude Code over SSH from my phone through Termius during commutes, and it was barely tolerable. Then three straight days of dawats left me with zero laptop time and a project pipeline that couldn't pause. So I built Tgmux: a Telegram bridge to Claude Code running in tmux. Then I used it, from my phone, to build the rest of itself.
The 2026 World Cup was coming up and I wanted to build something themed around it, but not another 'predict the winner' app. I kept coming back to probability: the bracket is fixed, so every outcome can be computed exactly. Here's how Quantum Bracket got built, the math behind it, and the weekend it took to ship.
Our final-year capstone was an AI sales agent for Facebook commerce — and because it was graded on production standards, we treated it like a real product. This is the honest build log: token hell, a 15-minute CI/CD hack, messy Banglish customer queries, CLIP image search, and the server that died on presentation day.
Asked to critique one paper like a collaborator, I landed on an uncomfortable conclusion — the most dangerous harm an AI can do might be the one that feels like help.
My undergraduate thesis journey — a year of kernel tracing, broken signatures, and 700 simulated attacks that taught me the honest answer is usually more interesting than the clean one.
A bug hid in our Django migrations for a year — deletes that ran too early, reads of fields that no longer existed, and circular dependencies between apps. Here's how two simple rules finally killed it.
A system-design deep dive — in the style of 'System Design Interview' — on why money-moving systems are built the way they are, using Formance Ledger as the case study.
Most RAG demos die the moment a real user asks a real question. This is the build log of DocuSense — every blocker I hit and the fix that got me past it: contextual chunking, hybrid retrieval, PDF highlighting, an on-prem LLM, and retrieving images from documents.
A war story from leading backend at one of Bangladesh's fastest-growing EdTech platforms — the attacks, the exhausted servers, and the live-class WebSocket meltdown, and how we fought through each one.
The ILM AI Hackathon problem statement asked for two physics-accurate simulations — projectile motion and the two-body problem. Three days later we'd built both, polished the UI, recorded the demo, and won. Here's how.