Skip to content
Sayb Technology
Storefront product listing with four single-origin coffees.

Commerce Core

Work06 / 06Retail & e-commerce2024Sample

One platform for direct-to-consumer sales, subscriptions and wholesale, connected to the roastery floor.

SampleIllustrative case study with placeholder figures — replace it with your own project.

Client
Specialty coffee roaster
Industry
Retail & e-commerce
Year
2024
Platforms
  • Storefront
  • Back office
  • Wholesale portal
Engagement
  • 4 months(placeholder) · first release
  • 4(placeholder) · people on the team

The problem

Three channels, three stock counts, one roaster guessing.

The webshop, a subscription plugin and wholesale orders by email each kept their own idea of what was in stock. Every Thursday someone reconciled them by hand to plan the roast.

The roaster wanted to grow subscriptions and wholesale without hiring someone just to keep the numbers straight.

sales channels
3(placeholder)
sales channels
wholesale accounts
40(placeholder)
wholesale accounts

The product

Storefront product listing.
A storefront that loads instantly and sells subscriptions as a first-class option.
Cart with subscription.
Switching to a subscription updates the price before checkout.
Back office operations view.
Orders from every channel, live stock and an automatically adjusted roast plan.

Our approach

Start from the roast plan and work outwards.

  1. Strategy

    The roastery is the system

    Every channel ultimately draws on the same green beans and roast days. We modelled that first, then the storefront around it.

  2. UX & UI

    A storefront that sells subscriptions

    Subscriptions are a choice in the cart, not a separate product, with skip and pause one tap away.

  3. Engineering

    One database, many front doors

    Storefront, back office and wholesale portal share one Postgres database and one set of business rules.

Architecture

Three front doors, one source of truth

Each channel is a thin application over the same commerce API. Orders adjust inventory and the roast plan in the same transaction, so the numbers can't drift apart.

ShoppersWEB & MOBILECafésWHOLESALE ACCOUNTSStorefrontNEXT.JSWholesale portalNEXT.JSCommerce APINODE.JSPostgreSQLSUPABASERoast plannerFROM ORDERSBack officeORDERS · STOCKPaymentsPROVIDERAccountingEXISTING SYSTEMShippingCARRIER API
Designed & built by usExisting & third-party systemsPeopleAsynchronous
  • Stock in one transaction

    Orders, allocations and roast-plan adjustments commit together, so channels never oversell.

  • Fast without a framework tax

    Static product pages with on-demand revalidation keep the storefront fast on mobile networks.

  • Accounting stays put

    Invoices and payouts sync to the existing accounting system nightly and on demand.

From checkout to the roastery floor in one system.

Outcome

Growth without a spreadsheet in the middle.

Subscriptions are now the default way people buy, wholesale accounts order through their own portal, and Thursday's roast plan writes itself from the week's orders.

subscription revenue in six months
+34%(placeholder)
subscription revenue in six months
stock counts to reconcile
3 → 1(placeholder)
stock counts to reconcile
product page load on 4G
< 1 s(placeholder)
product page load on 4G

Technology

Applications
  • TypeScript
  • Next.js
  • Node.js
Data
  • PostgreSQL
  • Redis
Infrastructure
  • Supabase
  • GitHub Actions

Next project · 01 / 06

Control Tower

A real-time dispatch platform that lets one team see, decide and act on every vehicle in the network.