Harriet Shopping
A multi-vendor e-commerce marketplace covering storefronts, catalogue, checkout and order fulfilment.

Role
Lead engineer — platform architecture and storefront
Stack
- Next.js
- TypeScript
- PostgreSQL
- Payments
- Search
The problem
A marketplace has to serve two very different users from one codebase — shoppers who want speed and trust, and vendors who want control over their own storefront and inventory.
Approach
- 01Modelled vendors as first-class tenants with isolated catalogue and order scopes.
- 02Built checkout to handle split carts across vendors without exposing that complexity to the shopper.
- 03Invested in search and filtering early, since marketplace conversion collapses when catalogue discovery is slow.
System
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.
Actors
- Shopper storefront
- Vendor console
Platform
- Next.js app
- Tenant scoping
- Catalogue + order isolation
Checkout
- Split cart across vendors
- Payments
Data
- PostgreSQL
- Search index
Fulfilment state flows back to both sides — the vendor's order queue and the shopper's tracking are the same records read from different scopes
Outcome
- Multi-vendor storefronts, catalogue and fulfilment running on one platform.
Next project
iVynLabs