Back to all work
February 2023 — April 2024 · Nairobi, Kenya

Wasoko

Principal Engineer

Led engineering for B2B e-commerce infrastructure serving 8 African countries — from catalog and delivery routing to the technical due diligence for the Wasoko–MaxAB merger.

Team5 engineers
Duration1.2 years
Stack
KotlinSpring BootPostgreSQLGraphHopper
DomainB2B E-commerce / Logistics
Projects

What I built here

01

Catalog Service

Designed and delivered a catalog service supporting products, pricing, taxes, and recommendations for 10K+ SKUs across 8 African countries with an integrated promotion engine.

Challenge

Product catalog was slow, inconsistent across countries, and lacked promotion capabilities — directly impacting order volume and merchant experience.

Approach

Built a unified catalog with per-country pricing, tax rules, and recommendations. Integrated a promotion engine that applied discounts, bundles, and tiered pricing dynamically.

Impact

Reduced request latency by 60% and increased order volume by 14% through the integrated promotion engine.

02

Delivery Routing Service

Architected an optimized routing service using GraphHopper, computing optimal delivery paths based on customer locations, vehicle capacity, order volume, and product dimensions.

Challenge

Delivery routes were manually planned, leading to high fuel costs, long trip times, and inefficient return-order handling across African cities with poor road data.

Approach

GraphHopper-based routing with vehicle capacity constraints, order volume optimization, and batching of nearby return orders with active deliveries.

Impact

Reduced fuel costs by 30%, trip duration by 23%, and minimized return trips through intelligent batching.

03

Customer Location Service

Designed a location service to accurately map delivery points in regions lacking reliable routing data, using delivery partner GPS coordinates at each drop-off.

Challenge

Many African regions lack reliable address systems and routing data, causing failed deliveries and high customer support volume.

Approach

Captured GPS coordinates at each delivery drop-off with support for location images and notes, building a proprietary delivery point database over time.

Impact

70% reduction in customer support calls within one quarter and 8% decrease in overall trip time.

Architecture

System design highlights

Order Service
Catalog + Pricing
Route Optimizer
Delivery Tracking

Key decisions

  • GraphHopper for routing — open-source, customizable for African road networks
  • Crowdsourced location data from delivery partners to build proprietary address db
  • Per-country pricing with centralized catalog and dynamic promotion rules
  • Led technical due diligence for the Wasoko–MaxAB merger across platform architectures

Trade-offs accepted

  • Crowdsourced location data improves over time but starts noisy — acceptable given no alternatives
  • Per-country config complexity vs single global model — regulatory and tax differences make this mandatory
  • GraphHopper requires road data maintenance, but proprietary routing was not an option at this scale