Building Multi-Modal Data Pipelines for African E-Commerce: From WhatsApp Images to SQL Analytics
We initially tried Google Vision API but found Nairobi-specific challenges: - Handwriting: 37% of images have handwritten notes (mostly Swahili + Sheng mixed) - Fonts: Many product photos use local specific fonts like "Stadi za Nairobi" - Receipts: M-Pesa receipts use Safaricom's proprietary font + custom formatting This is why we ended up fine-tuning local vision models.
DigitalOcean Spaces replaced AWS S3 for us because: - Lower cost: $5/month vs ~$15/month for AWS S3 equivalent - Nairobi POP: Local CDS means lower latency to our Nairobi servers - Simpler billing: Flat storage + bandwidth pricing vs AWS's complex tiered pricing We store ~5GB/month of WhatsApp images (3,000+ images/month at ~150KB/image).
Training took 34 hours on a DigitalOcean droplet with: - 8 vCPUs - 32GB RAM - 1x T4 GPU (30GB VRAM) Cost: ~$25 for training run Inference hardware: Same droplet configuration ($80/month)
Key Nairobi-specific optimizations: - Swahili OCR: `lang='swa+eng'` improved handwriting accuracy from 68% → 89% - Nairobi address parsing: Added lookup for common Nairobi areas (e.g., "Moi Ave", "Kibera Road", "Ngara") - Local product synonyms: "Ugali Mix" = ["Ugali", "Ugaly", "Sima", "Posho"] - Currency normalization: "Ksh" → "KES", "200/=" → "200"