Case study 03 / 04 · E-commerce Marketplace
← All workHarriet Shopping

Two audiences, one storefront.
A multi-vendor e-commerce marketplace covering storefronts, catalogue, checkout and order fulfilment.
- Role
- Lead engineer: platform architecture and storefront
- Year
- 2025
01Overview
Overview
Built with
- Next.js
- TypeScript
- PostgreSQL
- Payments
- Search
Filed under
- Client work
- E-commerce
- Marketplace
02The challenge
The challenge
One codebase needs to support shoppers browsing and buying, and vendors managing their own storefronts and inventory.
03The thinking
How it was approached.
- 01
Modelled vendors as first-class tenants with isolated catalogue and order scopes.
- 02
Built checkout to handle split carts across vendors without exposing that complexity to the shopper.
- 03
Built search and filtering early so shoppers can find items across vendor catalogues.
04The engineering
The system, taken apart.
Two audiences, one codebase. Vendors are tenants with isolated catalogue and order scopes; the shopper never sees that boundary, including at checkout, where a cart spanning several vendors still settles as one payment.
01
Actors
- Shopper storefront
- Vendor console
02
Platform
- Next.js app
- Tenant scoping
- Catalogue + order isolation
03
Checkout
- Split cart across vendors
- Payments
04
Data
- PostgreSQL
- Search index
The loopFulfilment state flows back to both sides: the vendor's order queue and the shopper's tracking are the same records read from different scopes
05The experience
What people actually see.
Captured from the live product. Nothing here is a mock-up.




06What shipped
What shipped
- Multi-vendor storefronts, catalogue and fulfilment running on one platform.
Next case study
ZRI Adventures
Exploration, made bookable.
Continue
