All case studiesE-commerce / Retail

From legacy site to RM40k in month one

The problem

A high-end furniture company was stuck on an ageing WordPress site that couldn't keep up with their business. Product pages were outdated, inventory was out of sync, and their growing B2B segment (architects, interior designers, commercial buyers) had no dedicated purchasing flow.

They needed a modern storefront. But with over 1,200 products across dozens of international brands, a full rebuild looked like months of tedious data entry before a single customer could check out.

What we built

We moved their entire operation to Shopify, with a custom dual-channel setup that serves both retail customers and trade buyers from a single product catalogue.

AI-powered product migration

The biggest bottleneck wasn't code. It was data. The legacy product information lived in spreadsheets with freeform text: inconsistent naming, unstructured variant descriptions like "Available in Oak, Walnut, Ash / 120cm, 150cm", and images scattered across Google Drive folders.

We built an automation pipeline that used AI to read each product row, interpret the natural-language variant descriptions, and generate properly structured Shopify products, complete with all option combinations, pricing, and inventory. A separate image pipeline pulled photos from Google Drive, optimised them, and attached them to the right variants automatically.

1,200 products migrated in days, not months. What would have been weeks of manual data entry became a supervised, repeatable process.

Dual-channel storefront (B2C + B2B)

The retail side works like a conventional online store: browse, add to cart, check out. But trade customers see a different experience on the same products:

  • Retail customers see prices and an "Add to Cart" button
  • Trade customers see an "Add to Shortlist" button instead, with no prices displayed

The shortlist system lets B2B buyers curate a selection of products, then submit the entire list as a request for quotation. The sales team gets a formatted enquiry with product details, company information, and contact details, ready for follow-up.

A single metafield on each product controls which channel it appears in. No duplicate products, no sync issues.

Smart indent enquiry flow

When a product goes out of stock, the "Add to Cart" button is replaced with an enquiry form. Customers fill in their details and the request is routed to the right team. Retail enquiries go to the main sales desk, trade enquiries to the contract division.

Every form is protected with bot detection and origin validation, so the sales team only sees real leads.

The results

  • RM40,000 in sales in the first month after launch
  • 1,200 products migrated from the legacy site with AI-assisted automation, saving months of manual work
  • Two sales channels running from a single product catalogue, no duplication, no drift
  • Faster lead capture through automated indent enquiries and B2B shortlist submissions

How it works under the hood

The migration pipeline connects Google Sheets to the Shopify Admin API, with AI handling the messy parts: parsing unstructured text into structured variant data, mapping product categories to Shopify's taxonomy, and classifying products into B2C or B2B channels.

The storefront runs on Shopify's Liquid templating with custom JavaScript web components for the indent enquiry form and shortlist functionality. The B2B shortlist persists in the browser, so trade buyers can build their selection across multiple sessions without needing an account.

All form submissions route through a server-side API layer with CAPTCHA verification and email delivery via Postmark, ensuring reliability without exposing the client to spam.