Current2024–2025

Califonia Marketplace

Production multi-vendor marketplace combining independent vendor sales and CJ Dropshipping fulfilment in one unified storefront — serving a Nigerian and EU-targeted retail business via a React Native mobile app.

PythonDjango 5Django REST FrameworkPostgreSQLRedisCeleryDjango ChannelsWebSocketsStripe APIPaystackCJ Dropshipping APIAWS S3CLIP / FAISSTwilioSendinblueDockerDaphneJWTGoogle OAuthSentry

1The Problem

The client needed a single platform that ran two fundamentally different fulfilment models simultaneously: human vendors managing their own inventory with commission tracking, and an automatically synced dropshipping catalogue fulfilled by CJ's overseas warehouse network. Standard marketplace platforms force one model or the other.

2The Solution

Built a comprehensive Django 5 + DRF backend with a polymorphic Product model (vendor vs dropship via discriminator), a resumable CJ Dropshipping sync engine with Redis-backed checkpoints, Stripe PaymentIntents (cards, Apple Pay, Google Pay, Klarna, Link) plus a custom Paystack integration for Nigerian local payments, Django Channels WebSocket push notifications, CLIP+FAISS vector image search, Celery background tasks for async order fulfilment and OTP delivery, and AWS S3 signed-URL media storage. The most architecturally complex piece was a split-shipment freight aggregator that computes per-carrier costs across multi-warehouse carts, filters carriers that cannot cover every item, merges consolidated vs split quotes, and pre-warms results via Celery so checkout resolves from cache.

Multi-Vendor + DropshippingStripe & Paystack PaymentsSplit-Shipment Freight EngineDjango Channels NotificationsCLIP Image SearchResumable CJ SyncCelery Task Queue940+ Tests

3The Result

Live production system handling real transactions across two payment gateways. 41 models across 7 apps, 940+ test functions, dual OpenAPI docs (Swagger + ReDoc), idempotent management commands for product sync and markup backfills, and Sentry production error tracking. The platform runs both fulfilment models with a single customer-facing storefront.

Have a similar project?

I'm available for new projects — let's talk about what you need.