ChampX Digital
Studio · Ras Al Khaimah · Established 2014
ChampX Digital
✱ Case study № 022025 · 14 weeks · London · UK

A multi-outlet ordering platform that finally shipped one queue.

Six restaurant brands, one shared kitchen, three different POS systems, and an online ordering page that converted at 1.4%. We rebuilt the ordering flow, not the brand.

dingdongdimsum.com
Ding Dong Dimsum — homepage
Ding Dong Dim Sum — mobile homepage walkthrough
Mobile
Mobile · dingdongdimsum.com
Client
Ding Dong Dimsum
Sector
F&B · Multi-outlet ordering
Engagement
Discovery → Build → Launch
Year
2025

✱ § 01 · The brief

What they actually needed.

Ding Dong runs six dim-sum and bao concepts out of one cloud kitchen in London. The brands looked great, the kitchen ran tight, but the website tried to be six storefronts at once — six menus, six checkouts, six loyalty programs — and it converted like none of them.

Each brand had its own Shopify theme, its own Klaviyo flow, and its own out-of-stock logic. Customers ordered from one brand, abandoned, and never saw the cross-promotion for the brand next door. Ops staff fielded WhatsApp messages from couriers because POS items disappeared mid-order.

We don't need six websites. We need one ordering site that knows when the kitchen has run out of soup dumplings.
Operations Lead, Ding Dong

✱ § 02 · Our approach

Three bets, in order.

01

Collapse six brand-specific checkouts into one shared cart.

Single payment session across all brands — Apple Pay first, card second, Tabby for orders over £40. Cross-brand cart so a customer can drop a bao bun and a chilli oil into the same order. Everything funnels through one Stripe account.

02

Move loyalty out of email and into the cart.

Replaced the per-brand Klaviyo discount cycle with a unified rewards balance visible in-cart. Free delivery at tier 2, early-access drops at tier 3. Email now ships order receipts and post-purchase notes — it doesn't sell.

03

Pull live kitchen capacity into the menu.

Custom KDS integration polls the kitchen every 90 seconds. Out-of-stock items grey out before they're added to cart instead of failing post-checkout. Out-of-stock alerts surface to ops via a single WhatsApp number, not six.

✱ § 03 · Process · 14 weeks

From kickoff to shipped.

Wk 1–2

Discovery + audit

Session replays on 180 abandoned carts. Three customer interviews. Pulled 90 days of order data from Shopify + Stripe + the existing POS to model the friction points.

Wk 3–4

Information architecture

Re-modeled six brand catalogs into one menu with brand sub-sections. Mapped the unified cart, the cross-brand promotions matrix, and the loyalty tiers.

Wk 5–8

Build · phase one

Next.js storefront with Sanity-backed menu, single-page checkout, Stripe Connect for the payment session, KDS poller. First end-to-end order placed end of week 8.

Wk 9–10

Soft launch + measure

Cut over 10% of mobile traffic for two weeks. Watched the funnel daily. Two rounds of small fixes — mostly scroll-jank on the menu and a Tabby threshold edge case.

Wk 11–12

Full cutover + loyalty

100% of traffic to the new platform. Migrated the existing Klaviyo audiences into the unified loyalty profile. Old per-brand sites kept hot for 30 days as a fallback.

Wk 13–14

Handover + 90-day support

Trained the in-house ops team on the menu CMS and the WhatsApp alert thresholds. Opened a 90-day support window for monitoring and small refinements.

✱ § 04 · Gallery · key screens

Selected screens.

Ding Dong Dimsum on desktop
Ding Dong Dimsum on mobile

✱ § 05 · Results · measured 6 months post-launch

What changed, in numbers.

+147%
Online orders

Year-on-year, 6 mo post-launch

−52%
Checkout drop-off

Pre-launch baseline 71% → 34%

4.1×
Repeat order rate

Cross-brand cart attribution

✱ § 07 · In their words

Six brands, one kitchen, one ordering site. Online orders climbed from week one — and the kitchen stopped getting calls from couriers about out-of-stock items.

Operations Lead

Ding Dong · Ding Dong Dimsum

✱ § 08 · Tech stack

What's running.

Storefront
Next.js 16 · Tailwind v4
CMS
Sanity (menu) · Stripe (catalog)
Payments
Stripe · Apple Pay · Tabby
Loyalty + ops
Custom rewards · WhatsApp alerts
Analytics
GA4 · Plausible · custom Stripe dash
Hosting
Vercel · Cloudflare

✱ § 09 · Team

Who built it.

Affan Manzoor
Project lead
ChampX design
Design + storefront
ChampX engineering
Storefront + checkout
ChampX ops
POS + KDS integration

✱ § 10 · Honesty section

What we’d do differently.

  1. 01 · Started too late on the KDS poller

    Modeled out-of-stock from order data first, then wired the live poller in week 7. Should have been week 3 — the data model needed real signal earlier.

  2. 02 · Underweighted Apple Pay on Android

    Tabby + card was the assumed Android stack. Google Pay added in phase two after we saw 19% of Android sessions bouncing at payment.

  3. 03 · Loyalty tiers shipped quiet

    No on-site announcement, just a banner. Most customers found out they had tier-2 perks weeks after qualifying. Added a profile banner and a one-time email six weeks post-launch.

Have a stuck number you’d like to move?

Start a project →