Posts

How I Turned a 3‑Second Load Time into a $4,500 Monthly Boost for a Dhaka Boutique Using a PWA

Image
AI-generated illustration Bangladesh, 9 AM. My phone buzzes. A frantic message from Maya, the owner of a tiny boutique in Gulshan: "Customers abandon at checkout. My PageSpeed score is 55, and I lose at least BDT 3,000 every day. Fix it, or I’m out." She’d just launched an online shop on a generic Shopify theme, hoping to ride the Daraz wave. The reality? 3G on the outskirts, 4G in the city, and a site that felt like dial‑up. The Hidden Problem: Speed Isn’t the Only Enemy Most Bangladeshi SMEs think “just add more bandwidth” fixes the issue. They ignore three brutal facts: Data caps are cheap but limited; a 2 MB page burns a customer’s monthly quota. Mobile browsers in Bangladesh still favor App‑like experiences that load instantly. Every extra second drops conversion by ~7 % according to a local study I ran on 12 shops. So Maya’s “slow site” problem was really a user‑experience mismatch . She needed a Progressive Web App that felt native, cached assets, and survived flaky n...

How I Turned a 2‑Second PageSpeed Fail into a $3k/month Freelance Win

Image
AI-generated illustration It was 10 am on a rainy Thursday in Dhaka. My phone buzzed: a new message from a boutique tea‑shop owner in Chittagong. ‘My site is loading slower than my kettle. Customers bounce, I lose sales.’ I opened the link. The Lighthouse score: 38 / 100. First‑Contentful‑Paint 7.2 s. The client’s data plan was 3G‑only, and every extra second cost them roughly BDT 150 in abandoned carts. Why Most Indie Shops Miss the PageSpeed Memo Everyone says “optimize for speed.” Yet the majority of Bangladeshi SMEs treat it like a nice‑to‑have after‑the‑fact checklist. They plug a theme, slap on a few images, and hope Google’s bots will be forgiving. The hidden problem? They audit with the wrong lens. Most freelancers run Lighthouse on a desktop, on a fiber connection, and then ship the same bundle to a 3G‑bound shop. The audit is accurate for the auditor, useless for the client. My own early gigs suffered the same fate. I’d spend hours polishing CSS, only to hear a client say “st...

How I Built a Mule‑Account Detector that Stopped a BDT 2 Million Structuring Ring in Dhaka

Image
AI-generated illustration It was 02:17 am. My phone buzzed with an alert from the BFIU dashboard: ‘Potential structuring activity – 12 accounts, BDT 2 million total, 3‑hour window’ . I stared at the screen, heart pounding. The rule that fired was the generic “high‑frequency low‑value” flag we’d slapped on every MFS transaction above BDT 100,000. It had been choking our analysts with false alarms for months. Tonight, the alert turned out to be a real mule network moving cash from a wholesale garment exporter to a series of petty‑shop accounts in Mirpur. If we’d missed it, the next STR would have been a massive fine for the bank and a headline in the daily. I had to act, and I had only one hour before the audit team arrived for a surprise inspection. The Hidden Problem: Why Off‑the‑Shelf Rules Don’t Work in Bangladesh Most AML platforms we tried were built for western banking ecosystems. They assume a clean, linear flow of funds and a tidy set of thresholds. In Bangladesh, the reality is...

Why Most Feature‑Engineering Tricks Miss the Real Bangladeshi Money‑Flow Signals

Image
AI-generated illustration Bangladesh, 02:45 am. My phone buzzes. A senior manager at bKash shouts, “We just got a 12‑minute spike: 1,200 transactions, BDT 100 k each, all from rural agents in Sylhet!” My heart jumps. The alert system is choking on false positives, the audit team is breathing down my neck, and the regulator is about to ask for the next STR. The Hidden Problem: Why the Same Old Features Fail Here We all start with the textbook features: transaction amount, velocity, time‑of‑day, and a simple count of distinct counterparties. In Dhaka they work okay for classic structuring, but in the field they miss a whole class of behavior unique to Bangladeshi MFS. Two things make the difference: Agent‑banking cascades: A single agent can route money for dozens of micro‑merchants, each with their own pattern. Cash‑in‑cash‑out loops: Rural users often move cash from a mobile wallet to a local shop, then back via a different agent, staying under the BFIU BDT 100 k threshold. When I fi...

How I stitched a 3‑stage Entity Resolution pipeline that stopped duplicate KYC alerts in a Bangladeshi fintech

Image
AI-generated illustration Bangladesh, 03:15 am. My phone buzzed. The compliance dashboard lit up with 1,342 new SARs from a single MFS provider. Every one flagged the same name – “Mohammed Rahman” – but with different phone numbers, ID numbers, and addresses. The senior manager stared at me, eyebrows knit. ‘What the heck is happening?’ he asked. My heart hammered. If we didn’t sort this out, the BFIU would slap us with a fine for missing the real suspect hidden behind a mountain of noise. The hidden problem: why the usual deduplication tricks crumble in Bangladesh Most teams lean on a single‑field match – ID number, phone, or email. In Dhaka’s bustling market, a person can hold three SIMs, two passports, and a driver’s licence that changes spelling with every bank. The BFIU’s 100 k BDT threshold for MFS monitoring forces us to capture every tiny transaction. That creates a flood of partial records. A naive join produces thousands of false matches, inflating the SAR count and drowning ...

How I Cut False Positives in Half and Saved My AML Squad Hours Every Day

Image
AI-generated illustration High‑Stakes Hook It was 02:17 AM on a rainy Thursday in Dhaka. My phone buzzed. The BFIU portal showed a new SAR – a supposedly "structuring" case involving BDT 12 million across ten bKash accounts. My team had already spent eight hours chasing the same alert yesterday, only to close it as a harmless cash‑in‑cash‑out loop. The auditor’s eyes were on us; the regulator’s deadline was looming. The clock was ticking, and the false‑positive avalanche was about to drown us. The Hidden Problem Most banks and fintechs in Bangladesh treat false positives like background noise. They set a single threshold – say, any transaction above BDT 100,000 gets flagged – and hope the downstream SAR team can sift through the noise. In practice, the rule‑engine spits out thousands of alerts daily. Our own monitoring dashboard showed a 92% false‑positive rate last quarter. The problem isn’t the rules; it’s the lack of context. Standard approaches fail because they ignore th...

Why My First Lighthouse‑Score Cold Email Fell Flat—and the One Metric That Actually Gets Replies

Image
AI-generated illustration It was 9 am on a rainy Tuesday in Mirpur. My inbox pinged. A tiny boutique bakery in Gulshan had replied to the cold email I sent last night. Two words. “Interested.” I could almost taste the fresh croissants I’d promised to help them sell faster. Only problem? The reply was a polite “Thanks, but we already have a dev.” I stared at the screen. My 4‑line email had mentioned their Lighthouse Performance score of 62, a slow‑loading hero image, and a quick fix. No one cared about numbers I thought were gold. The Hidden Problem: Numbers Aren’t Magic for Local SMEs Most freelancers I know treat Lighthouse like a badge. Score = credibility. We slap a 92‑point badge on a proposal and assume the client will jump. In Bangladesh, that assumption is a myth. Local shop owners care about cash flow , not Core Web Vitals. They run on 3G/4G, pay for data by the megabyte, and measure success by foot traffic and daily sales. A 0.5 second improvement in First Contentful Paint ...

How I Saved a Dhaka Street Vendor $1,200 a Year with a One‑Click Order Bot

Image
AI-generated illustration It was 9 AM on a rainy Tuesday. My phone buzzed – a frantic text from Rafiq, the owner of a tiny kathi roll stall on New Market. "Orders are piling up, but my phone dies after 3 messages. I’m losing cash every minute," he wrote. I asked for his sales sheet. He handed me a crumpled notebook: 120 orders a day, average ticket BDT 250, but his manual tally showed a 12 % gap between what he recorded and what the cash register said. In other words, roughly BDT 3,600 vanished each week. The Hidden Problem: Manual Order Capture in a Mobile‑First City Most small shops in Dhaka still rely on handwritten tickets or a single Android phone. The reality is brutal: 3G still costs BDT 150 per gigabyte, data caps are tight, and many owners cannot afford a full‑blown POS system. They think "automation" means hiring a developer, buying a cloud ERP, and waiting months for integration. That myth keeps cash on the table. Why the usual advice fails Typical co...

How I Saved a Rural Shop’s Sales with an Offline‑First PWA on Bangladesh’s 3G

Image
AI-generated illustration It was 3 PM on a rainy Thursday in Chittagong. My client, Rafiq, shouted over the phone: “The app crashed again, customers can’t add items!” He’d just lost 12 % of his daily turnover—about 4,800 BDT—because his Vue storefront kept timing out on the 3G link his customers shared at the market stall. Why Most Indie Shops Crash Before They Close Most freelancers I know build PWAs that assume a stable 4G or Wi‑Fi connection. They add a service worker, cache the shell, and call it a day. In Bangladesh, that assumption is a myth. Data bundles are cheap, but the network is fickle. A 3G tower can drop to 0.2 Mbps during peak hours. A single packet loss sends a JavaScript promise into the abyss. The result? Users stare at a spinner, then abandon the cart. “If you don’t design for offline, you design for failure.” – My own mantra after the first lost sale. The Hidden Problem: Ignoring Real‑World Connectivity Two things happen when you ignore the local reality: Service wo...

How I Turned a Stagnant Government App into a Freelancer‑Built PWA and Saved a Rural Clinic $3K Monthly

Image
AI-generated illustration Real‑World Hook I was scrolling through my Upwork inbox at 02:17 am, coffee gone cold, when a Bangladeshi health ministry officer pinged me. ‘Our patient‑record portal crashes on 3G, we lose about 12 % of appointments each month.’ He attached a screenshot: a gray‑screen error, a loading spinner stuck forever, and a note: ‘Average page load: 27 seconds on 4G, 45 seconds on 3G. Users abandon.’ My freelance dashboard showed I had 3 open gigs, $2 800 in pending invoices, and a deadline for a Daraz‑style PWA that was already two weeks late. I could have said ‘no’ and moved on. Instead I said ‘yes’ and set a timer: fix the app in 10 days or walk away. Why? Because the clinic behind that portal serves 1 200 patients across Rangpur, and each missed appointment costs them roughly BDT 2,500 (≈ $30) . That’s $3,000 a month slipping through the cracks. The numbers were clear. I had a chance to turn a broken government‑branded web app into a product that actually paid fo...

How I Caught a $1.2 Million Fraud Ring Using Behavioral Biometrics on a Mobile Banking App

Image
AI-generated illustration It was 02:17 AM on a rainy Thursday in Dhaka. My phone buzzed. A BFIU alert popped up: “Potential structuring activity – 57 transactions, BDT 100,000 each, within 2 hours.” My heart raced. The numbers matched a pattern I’d seen in a case study years ago, but never in live production. I grabbed a cold coffee, opened the monitoring dashboard, and saw the same device ID pinging bKash, Nagad, and a newly‑launched Rocket wallet. The fraud ring was already moving money across three platforms before the sun rose. The Hidden Problem: Why Conventional Rules Miss the Real Threat Bangladeshi fintechs rely heavily on static thresholds – BDT 100,000 per transaction, 5‑transaction daily caps, and simple velocity rules. Those work for obvious cash‑out scams, but they crumble when criminals mimic legitimate user behaviour. They randomise amounts, sprinkle low‑value transfers, and hide behind genuine device fingerprints. In my eight‑year AML journey, I’ve learned two thin...