All work

Case 06 / 10

Trilingual webshop for a premium beauty brand

A Belgian hair and body care brand needed a webshop as considered as its products, in English, Dutch and French. Through DLVX, working for a Belgian digital agency, I took it from Figma designs to a custom WooCommerce theme, covering the shop, checkout and customer account. The agency reports 9,000 visitors in the first month and 50 orders in the first hour after launch.

Role
WooCommerce Developer
Client
Belgian beauty brand, via a Belgian agency
Year
2024
Stack
WooCommerce, ACF Pro, WPML, YITH, SCSS

9,000

visitors in the first month

50

orders in the first hour after launch

EN / NL / FR

shop, checkout and account in three languages

16

WooCommerce templates rebuilt to match the design

Visitors and orders as reported by the agency.

Key contributions

  1. 01

    From Figma to a custom WooCommerce theme

    I turned the Figma designs into static HTML first, then into a custom theme: 13 flexible page sections and 16 rebuilt WooCommerce templates, from the shop and product pages to cart, checkout and account. The brand team builds pages and product launches without a developer.

  2. 02

    A checkout built for gifts and business orders

    Shoppers pick gift packaging in the order summary and the cart updates in place, without the packaging cluttering the item list. Business buyers add a company tax ID that stays on the order and in their account, and the shop team can edit it in admin.

  3. 03

    Three languages, five plugins, one account

    WPML runs through cart, checkout, account and forms in English, Dutch and French. I wired in YITH wishlist, points and rewards, gift cards, reviews and store locator. The account dashboard shows the cart, wishlist and orders together, and birthdays from sign-up are converted so customers earn birthday points.

Screens

Hair care collection: product cards with name, a back-in-stock or best-seller badge, photo, add-to-cart button and price. (opens in a new tab)
Shop
Product page in English: photo and video gallery on the left; name, size, star rating, price, add-to-cart and description on the right. (opens in a new tab)
Product page in English
The same product page in Dutch: the menu reads Haar, Lichaam, Cadeau, Ontdek and Winkelwagen, and the button reads Aan winkelwagen toevoegen. (opens in a new tab)
Product page in Dutch
The same product page in French: the menu reads Cheveux, Corps, Cadeaux, Compte and Panier, and the button reads Ajouter au panier. (opens in a new tab)
Product page in French
Loyalty club page: a photo on the left and, on the right, the pitch to join and earn credits in three steps: sign up, earn credits and get access, redeem credits. (opens in a new tab)
Loyalty club
Mobile menu: Hair, Body, Gift and Discovery, with log in, country and currency, and the language switch at the bottom.
Mobile product page: photo first, then a row of gallery thumbnails, the name, size and star rating.

Screens from the live shop. Menus, buttons and product fields all follow the language.

Anonymised: logos, the brand name, photos, taglines, product copy and contact details are removed or blurred, and the brand colours are greyed out.

Try the checkout

A working sample of the order summary I built. Pick a packaging, order as a company, switch the language, and watch what the shop stores on the right.

Your order

Cleansing shampoo, 300 ml€32.00

Hair oil, 50 ml€28.00

Packaging
Subtotal
€60.00
Packaging
Free
Shipping
Free
Total
€60.00

Turn on JavaScript to try the sample.

What the shop stores

Packaging is a real product in the cart, so stock and accounting stay right, but it never shows up as a line in the summary.

Cart

cleansing-shampoo   × 1  32.00
hair-oil            × 1  28.00
standard-box        × 1  0.00  hidden from list

Session

packaging_options: ["standard-box"]
language: "en"

Order meta

No company details
Next case A motorcycle tour catalogue the team runs itself