ChampX Digital
Studio · Ras al Khaimah · Established 2014
ChampX Digital FZ LLC
✱ 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 →