Posts

Showing posts from September 18, 2026

I Built a BFIU-Compliant AML Detection System in Python (Here's Why the Kaggle Approach Doesn't Work

I Built a BFIU-Compliant AML Detection System in Python (Here's Why the Kaggle Approach Doesn't Work)

Most AML tutorials end with a confusion matrix and a 99% accuracy score. Here's why that doesn't work — and what I built instead. I've been working in fintech compliance data for a while. The one thing I kept noticing: every "fraud detection project" on GitHub or Kaggle uses the same dataset — the UCI credit card fraud dataset from 2013. It has 284,000 rows, 30 features labeled V1-V28, and approximately zero explanatory value for anyone who wants to understand how financial crime actually works. So I built something different. The problem with the standard approach Real transaction monitoring engines don't work like Kaggle competitions. They don't take a CSV, train a model, and output a probability score. They work like this: A rule engine runs first — deterministic, auditable, regulatory-cited rules that generate alerts Those alerts get scored and triaged by risk tier An ML layer reduces false positives among the high-risk alerts ...

Why My First Bus Fare Lookup PWA Crashed on 3G—and the Architecture That Fixed It

Image
Photo by Ricardo Gomez Angel on Unsplash Real‑World Hook It was 9 am on a rainy Tuesday in Dhaka. My client, a tiny transport cooperative that runs 12 minibuses across Gulshan, sent a frantic WhatsApp voice note: “The fare‑lookup app you built just froze for half the riders. We lose at least 200 BDT per hour!” They’d just spent BDT 12,000 on a Google Play listing that never got any downloads because the app wouldn’t work on the 3G phones their commuters still use. I stared at the crash logs, the analytics, and my own coffee‑stained notebook. The numbers were clear: 75 % of sessions timed out after 8 seconds . The client’s revenue hit a dent of roughly BDT 9,000 a day. I had to turn this around before the next fare‑collection cycle. The Hidden Problem Most indie developers treat PWAs like glorified static sites. They sprinkle a service worker, slap an addToHomeScreen prompt, and call it a day. In Bangladesh, that shortcut is a recipe for disaster. Three realities bite hard: 3G is stil...