A 2-3 minute walkthrough of JG Mart's user flow, operator features, and offline-first architecture. Video recording pending — script ready in demo-scripts/jgmart-demo-script.md
WhatsApp-first ordering: No app download — meets users where they already are. Direct sourcing: 51% margin by cutting out middlemen, sourced from Krishi Market 800m away. Offline-first PWA: Service worker cache v6 for low-connectivity areas. Cluster routing: 4 delivery zones optimize driver time and fuel. Supabase backend: PostgreSQL + Auth + RPC with Python automation scripts.
01 The challenge
Japan Garden City, Dhaka: a 1,700-family residential complex across 27 buildings, 4 clusters — the intended pilot catchment, not a proven usage count. One Krishi Market 800m away. Residents needed same-day groceries without app-store friction or middleman markups.
The existing solution was a WhatsApp group with manual order taking — error-prone, unscalable, and impossible to track. The challenge wasn't building an app; it was building a system that families would actually use without downloading anything.
02 WhatsApp-native ordering
The radical insight: don't fight user behavior. Meet it. If families already use WhatsApp for coordination, make it the ordering interface.
- No app download — ordering happens via WhatsApp message to a business number
- Structured messages — formatted order templates reduce errors
- Operator dispatch — admin panel with Supabase Auth + PIN fallback
- Cluster-based routing — 27 buildings organized into 4 clusters for efficient delivery
- Order tracking — customers get status updates via WhatsApp
App-store friction kills conversion in emerging markets. WhatsApp penetration in Bangladesh is ~40M users. By using WhatsApp as the interface, we remove the biggest barrier: the download.
03 Technical architecture
A lean stack optimized for speed, offline resilience, and low operational overhead.
| Layer | Implementation |
|---|---|
| Frontend | Vanilla HTML/CSS/JS PWA |
| Backend | Supabase (PostgreSQL + Auth + RPC) |
| Order flow | WhatsApp API + Supabase RPC |
| Automation | Python 3.11 scripts |
| Deploy | Vercel + GitHub Actions |
| PWA | Service worker cache v6, manifest.json |
- Offline-first — service worker caches catalog for offline browsing
- Type-safe schema — Supabase schema enforces data integrity
- Zero dependencies — vanilla JS keeps bundle tiny and maintenance low
- Python automation — validation, reporting, and ops tooling
Service Worker v6
Offline-first Cache
PostgreSQL + Auth
WhatsApp RPC
Validation + Ops
Vercel + GitHub Actions
JG Mart stack: PWA frontend → Supabase backend → automation
04 Business model
Not a portfolio demo. A revenue model with real numbers.
- 51% gross margin — sourced directly from Krishi Market, 800m away
- 82 products across 10 categories — curated for the residential complex
- Cluster routing — 4 delivery zones optimize driver time and fuel
- Zero middlemen — direct sourcing removes traditional markup layers
- Pre-seed ask — 250K BDT for pilot scale to 5,000 families
Average order value: ~800 BDT. Gross margin: 51%. Net margin after delivery and ops: ~15-20%. At scale (5,000 families), monthly revenue: ~1.2M BDT with ~180-240K BDT net profit.
05 Quality & validation
Real metrics from real validation, not vibes.
| Signal | Result |
|---|---|
| HTML validation | 45/45 passing |
| Python validation | 17/17 passing |
| Live site | 20/20 files HTTP 200 |
| PWA | Service worker cache v6 |
| CI | GitHub Actions green |
06 What's next
Pre-seed pilot is live. Scaling requires:
- Inventory management — real-time stock tracking across categories
- Delivery scheduling — time-slot selection for families
- Payment integration — bKash/Nagad for cashless payments
- Driver app — dedicated interface for delivery personnel
- Analytics dashboard — sales, margins, delivery metrics
This is a pre-seed pilot, not a Series A platform. The architecture is sized for a 1,700-family complex as the pilot target. What's missing is the capital and operational infrastructure for city-wide deployment — and third-party proof of live household usage is not claimed here.
07 What I learned
Building for real users teaches things no tutorial can:
- Constraints breed creativity — WhatsApp-first wasn't the obvious choice, but it was the right one
- Business model first — starting with 51% margin forced every technical decision to be cost-conscious
- Offline matters — in emerging markets, network isn't guaranteed. PWA offline-first isn't a feature, it's a requirement
- Validation over features — 45/45 HTML and 17/17 Python checks passing means more than a fancy UI