Posts

Showing posts from September 21, 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 ...

The $2,400 Pricing Mistake I Made on My First PWA Gig—and How I Fixed It

Image
AI-generated illustration Real‑World Hook It was a rainy Thursday in Gulshan. My inbox pinged: "Need a PWA for my boutique, budget BDT 30,000, deadline 2 weeks" . The client, a 28‑year‑old fashion retailer named Riya, showed me her Shopify store loading at 7 seconds on 3G. She’d lost roughly BDT 12,000 in sales last month because customers abandoned carts. I replied, "I can make it offline‑first, under 2 seconds, for BDT 30,000." I signed the contract on Upwork, sent the first invoice, and started building. The Hidden Problem Most freelancers think pricing is just a math exercise: hours × rate + buffer. I did the same. I estimated 80 hours, set my hourly rate at BDT 400, added a 10% contingency, and landed on BDT 35,200. I rounded down to BDT 30,000 to look tempting. What I missed was the hidden cost of post‑launch support and the reality of Bangladeshi data plans. Riya’s customers use 3G most of the day, paying BDT 30 per GB. A PWA that still pulls a 5 MB bundle e...