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.