Posts

Why Most Circular‑Chain Alerts Miss the Mark: My 9‑Step Forensic Playbook for Nagad Wallets

Image
AI-generated illustration High‑Stakes Hook It was 02:17 am on a rainy Thursday in Dhaka. My phone buzzed with an urgent BFIU notice: BDT 27 million moving through seven Nagad wallets in a perfect loop, each hop under the BDT 100,000 MFS velocity threshold . The audit team was breathing down my neck. If we didn’t surface the chain before the regulator’s next checkpoint, we would be on the front page of the daily financial news. I stared at the raw CSV export – rows of sender_id, receiver_id, amount, timestamp . Nothing screamed “suspicious”. No single transaction breached the 100k rule. No classic structuring pattern. Yet the regulator’s red flag was real. The Hidden Problem Most of us build circular‑chain detectors that start with a simple velocity check or a single‑node repeat . In Bangladesh that works for obvious structuring, but it collapses when criminals spread the amount across many tiny hops. The BFIU guidelines (Section 3.2.4) explicitly warn: “ circular transfers below the...

Why 3‑Word Service Worker Mistakes Keep Bangladeshi PWAs From Going Live – My 9‑Step Rescue

Image
AI-generated illustration 🚌 Try it yourself — Bus Fare Calculator BD This case study is based on a real, live product. Check it out below. Get Bus Fare Calculator BD → It was 10 pm on a rainy Thursday in Gulshan. My phone buzzed: a client from Chittagong had just dropped a 2‑digit rating on the install‑prompt test they ran on their new online bakery shop. ‘The add‑to‑home button never shows up,’ the email read, followed by a screenshot of a blank Chrome UI. I was staring at a site that loaded in 3.2 seconds on my 4G dongle, but the PWA never felt like a PWA. The Hidden Problem Most freelancers I know think “just drop a service‑worker file and call it a day.” The reality in Bangladesh is harsher. Data caps, 3G‑only neighborhoods, and cheap prepaid plans mean users will abandon a site that asks for a network request twice before showing the install prompt. The culprit? A three‑word typo in the navigator.serviceWorker.register call that silently fails, plus a cascade of logic errors...

The $1,750 Pricing Slip I Took on My First PWA and the 8 Lessons That Saved My Freelance Reputation

Image
AI-generated illustration 🚌 Try it yourself — Bus Fare Calculator BD This case study is based on a real, live product. Check it out below. Get Bus Fare Calculator BD → Real‑World Hook I was on a shaky Zoom call with the owner of a boutique clothing store in Gulshan. She stared at her laptop screen, her brow furrowed. ‘My customers drop off after three seconds,’ she said, pointing at the Google Analytics bounce rate: 73% . She had just paid BDT 120,000 for a “quick fix” that never left the browser cache. She asked me, “Can you make it a PWA? I need offline checkout for the rainy season.” I said yes, but I also said my standard rate for a full‑stack PWA was US$2,500 . She hesitated, then offered US$800 because she was a small SME and her monthly internet bill was barely BDT 1,200 . I swallowed my pride, signed the contract, and started coding. The Hidden Problem Most freelancers in Bangladesh think: “If I lower the price, the client will be happy and I’ll get a testimonial.” That’...

Why Most BD Banks Trip Over Sanctions Screening: The 7 Mistakes I Fixed After a $3 Million Alert

Image
AI-generated illustration High‑Stakes Hook It was 02:17 am on a humid Tuesday. My phone buzzed – the BFIU had just emailed a provisional SAR on a single transaction that moved BDT 3,120,000 from a Dhaka‑based corporate account to a shell company in the UAE. The red‑flag came from our sanctions‑screening engine, but the alert had been dismissed two weeks earlier as a false positive. The regulator was now demanding a full audit trail, and my team was scrambling to prove we hadn’t missed a sanctioned party. The Hidden Problem Most banks in Bangladesh treat sanctions screening like a checkbox. They load a static OFAC list, run a fuzzy match, and hope the result is clean. In reality the list changes daily, local counterparties have multiple spellings, and the BFIU expects a documented risk‑based approach. The mistake that cost us the $3 million alert was not the list itself – it was how we integrated it. Technical Breakdown & Logic Flow We broke the process into four logical layers: Dat...

Why Most Bangladeshi PWAs Stall at Install Prompt: The 7‑Step Fix I Discovered

Image
AI-generated illustration 🚌 Try it yourself — Bus Fare Calculator BD This case study is based on a real, live product. Check it out below. Get Bus Fare Calculator BD → Real‑World Hook It was 3 am in my tiny Dhaka flat. My phone buzzed: "Client: our checkout page crashed on 4G, sales down 12% overnight" . I grabbed my laptop, opened the live site – a modest WordPress shop selling handmade jam. PageSpeed flagged 3.9 seconds on 4G, and the "Add to Home Screen" banner never showed. The client had spent BDT 25,000 on a Google Ads burst that day and saw zero conversions. My first instinct was to blame the theme. My second instinct? I’d seen this exact symptom before – a service worker silently failing. I knew the fix could turn that jam shop into a offline‑first PWA that loads in 800 ms on 3G, and the install prompt would finally appear. The question was: how? The Hidden Problem Most indie devs in Bangladesh treat service workers like a fancy after‑thought. They copy...

Why My First WhatsApp Business Auto‑Responder Crashed a Dhaka Grocery – The 7‑Step Fix I Built with Python

Image
AI-generated illustration 🚌 Try it yourself — Bus Fare Calculator BD This case study is based on a real, live product. Check it out below. Get Bus Fare Calculator BD → Real‑World Hook It was 9 am on a rainy Tuesday. My client, a family‑run grocery on Mirpur‑10, opened WhatsApp Business and started getting 120 messages per hour. Every single query bounced back with "We are currently unavailable". Their sales dropped 30 % in two days. I was on a Fiverr call, coffee cooling, and the client’s inbox was exploding. The Hidden Problem Most Bangladeshi SMEs think a “quick reply” setting in the app is enough. They ignore three brutal facts: Network jitter on 3G/4G means latency spikes above 5 seconds. WhatsApp Business API costs per message, so a blind auto‑reply can burn BDT 5,000 in a day. Message context is lost – a “thanks” to a price inquiry looks like spam. I learned that the real issue is missing a lightweight, stateful responder that respects rate limits and understands conv...

Why My First PageSpeed Bot Missed 30% of Slow Pages – The 6‑Step Fix I Built in Python

Image
AI-generated illustration 🚌 Try it yourself — Bus Fare Calculator BD This case study is based on a real, live product. Check it out below. Get Bus Fare Calculator BD → Real‑World Hook I was staring at my inbox on a rainy Saturday in Gulshan, Dhaka. A new client – a boutique tea‑shop that sells on Daraz – had just pinged me. Their WordPress store was loading in 9.8 seconds on a 3G connection, and the Google PageSpeed Insights score was a pitiful 42. They threatened to drop the site if I didn’t shave off at least 3 seconds within a week. My rate was $25 hour, and I had 12 hours left before the deadline. Panic? Sure. But also a spark: could I automate the audit so I never missed a slow page again? The Hidden Problem Most freelancers treat a PageSpeed audit as a one‑off checklist. Run Lighthouse, copy the suggestions, hand‑write a report, send it. That works for a single site, but it collapses when you juggle 5‑10 clients, each with dozens of URLs, localized assets, and flaky Banglade...

Why Most Daily AML Batch Pipelines Crumble at 10 Million Records – My 8‑Step Rescue

Image
Photo by Mitchell Luo on Unsplash High‑Stakes Hook It was 02:13 am on a humid Thursday. My Slack pinged: "ALERT: 10 M transactions flagged in the last 24 h – SAR backlog at 98%" . The BFIU had just sent a surprise audit notice, demanding evidence of compliance for the past week. My team stared at a spreadsheet that looked like a city map of Dhaka – every cell a potential structuring ring. If we didn’t tame the flood, we’d face a BDT 25 million penalty and a possible licence suspension. The Hidden Problem Most fintechs in Bangladesh treat daily AML batch jobs like a nightly cron that “just works”. They copy a template from a vendor, slap a SELECT * FROM transactions into it, and hope the scheduler will magically sort the rest. In reality, three hidden forces grind those pipelines to a halt: Volume spikes – bKash’s promo days can double daily volume overnight. Regulatory quirks – BFIU’s 100 K BDT MFS threshold must be enforced per‑customer, per‑day, not just per‑transaction...

How I Unraveled a BDT 15 Million Circular Chain in Nagad Wallets in 7 Steps

Image
AI-generated illustration High‑Stakes Hook It was 02:13 AM on a rainy Tuesday. My dashboard flashed a red line: BDT 15 million moved through five Nagad accounts and landed back where it started, all within 27 minutes. The BFIU had just sent a notice that any circular flow above BDT 100,000 triggers a mandatory SAR. My phone buzzed. The audit team was breathing down my neck. I had 30 minutes to prove whether this was a harmless peer‑to‑peer shuffle or a sophisticated layering attempt. The Hidden Problem Most AML rules in Bangladesh treat each transaction in isolation. We flag large amounts, rapid velocity, or known high‑risk counterparties. But a circular chain disguises itself as a series of legitimate transfers. The standard rule‑engine missed it because every hop was below the BDT 100,000 threshold and involved “verified” customers. The real issue? Our graph‑based alert only looked two hops deep. Anything deeper slipped through. Technical Breakdown & Logic Flow First I asked: Wh...

How I Stopped a BDT 100,000 MFS Flood with a Python Threshold Monitor – The 9‑Step Playbook That Saved My Audit

Image
AI-generated illustration Bangkok‑hour phone rings. ‘We just got a SAR from the BFIU – 37 MFS transfers, each just under BDT 100,000, all in the last 24 hours. The regulator’s eye is on us.’ I stared at the screen, heart thudding. The dashboard was flashing red, but the alerts were all false positives. My team was drowning in noise, the compliance officer was about to lose sleep, and the audit deadline was two days away. The Hidden Problem: Why Every Off‑the‑Shelf Threshold Rule Fails in Bangladesh Most vendors ship a generic “alert if amount > threshold” rule. In theory it sounds solid. In practice, in Dhaka’s mobile‑financial‑services (MFS) ecosystem, it’s a disaster. bKash, Nagad, Rocket – three giants, each with their own API quirks. BFIU guideline 5.3.2 demands monitoring of *any* transaction that equals or exceeds BDT 100,000, but also allows aggregation across wallets within a 24‑hour window. Fintechs ship millions of micro‑payments daily; a blunt rule throws up tens of thous...