Will Ellis

Shopify · Liquid · Horizon · Klarna

A custom Shopify store for culinary courses

A heavily customised Shopify Horizon theme for an online school, turning course data into rich product pages and sold-out courses into lead capture.

Visit live site ↗

Overview

Client: École Ducasse Online
Role: Senior Engineer
Platform: Shopify (Horizon theme)

The online arm of École Ducasse sells individual course modules and full pastry and cuisine certificate programmes. I extended Shopify's Horizon theme so every product page reads like a course page, not a generic product.

Highlights

  • Course data as metafields: 17 custom product metafields — module number, start date, learning hours, access time, languages, tutor, dish types, recipes, equipment, ingredients, instructor bio and more — surfaced across cards and product pages.
  • Custom sections: a module-versus-certificate comparison with live prices and add to cart, a flexible course grid, a teachers carousel, a split hero with Vimeo video, and a fullscreen image carousel with keyboard navigation.
  • Sold out becomes a lead: sold-out courses swap the add-to-cart button for a "notify me" flow with a HubSpot form in a modal, suppressed by cookie after it's been shown.

Technical details

Theme architecture

Built on Horizon's component model: sections compose reusable blocks and snippets, and JSON templates compose sections per page type. There's no build step — Liquid renders on Shopify and the JavaScript is vanilla ES classes and web components, loaded deferred.

Custom work

  • 7 custom sections, 6 custom blocks and a fully custom course card, plus targeted changes to Horizon's product information, add to cart and cart summary.
  • Self-hosted brand typefaces, with a per-section font choice exposed to editors in the theme settings.
  • Klarna on-site messaging, HubSpot forms, Vimeo previews and VWO experimentation.

Workflow

The theme is connected to GitHub, with a dev branch for previews and main deploying straight to the live theme.