Case study 03 / 04 · E-commerce Marketplace

← All work

Harriet Shopping

The Harriet Shopping storefront: logo, search and category navigation above the Mid Summer Collection campaign.

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.

  1. 01

    Modelled vendors as first-class tenants with isolated catalogue and order scopes.

  2. 02

    Built checkout to handle split carts across vendors without exposing that complexity to the shopper.

  3. 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.

  1. 01

    Actors

    • Shopper storefront
    • Vendor console
  2. 02

    Platform

    • Next.js app
    • Tenant scoping
    • Catalogue + order isolation
  3. 03

    Checkout

    • Split cart across vendors
    • Payments
  4. 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
The ZRI Adventures home page: navigation above a quad-bike adventure photograph, the headline “Untamed Sri Lanka” and tour links.

Analytics

May I use Google Analytics to see which pages and interactions people use? It loads only if you accept. Form contents are never included. You can change this in the footer.