A walker in a linen shirt and clay trousers on a moorland path

Fernlowe

Product data and compliance, built into the store.

A fictional natural-fibre clothing brand I built on Shopify to show Digital Product Passports, structured product data and technical SEO working from one set of records.

Visit the live store fernlowe.dev.jiggyjaw.comPassword-protected development store · password on request

Focus
Product data and compliance
Platform
Shopify Plus development store
Theme
Shopify Horizon 4.3.0, extended
Paid apps
None
Built
October 2026, by Hugo King

Why this store exists

Every product is data first and a web page second.

Clothing brands selling into the EU will need a Digital Product Passport for each item, with fibre origins, supply chain, environmental figures and care. The EU textiles rules are expected around 2027 to 2028.

The hard part of a passport is not the page. It's keeping accurate, structured data for every product, and making sure the same facts appear on the product page, the care-label QR code, the search listing and, later, a compliance export.

Most of my Shopify work is for clients, so I can't walk through their code or data. Fernlowe is my own brand, built to show the same skills with nothing confidential in it. Every product, figure and supplier is illustrative.

"Edit a size chart once and every product that uses it updates. That's the test of a good data model."

One record, many outputsThe passport, size guide, pre-loved link and SEO markup all read the same structured records.
Editable by anyone on the teamEverything lives in Shopify metaobjects and metafields, with validation, so nobody needs a developer to change a fact.
No app billBuilt with Shopify's own theme, data model and APIs. Nothing to subscribe to or maintain.

The brand

Quiet clothes in four natural fibres.

Fernlowe is a small Bristol label: linen, lambswool and organic cotton, with corozo-nut buttons in place of plastic. The identity is deliberately calm, so the facts about each garment can carry the page.

Linen#F4EFE6
Oat#E6DDCC
Stone#D3C8B4
Fern#2F4A3A
Ink#1E2420

Headings · Cormorant

Made slowly.

A high-contrast serif with the feel of a printed swing tag.

Body · Instrument Sans

Made to last.

A clear, slightly condensed sans for prices, sizes and passport data.

The Hollow Linen Shirt in oat on a hanger
The Hollow Linen Shirt£85 · Oat, Fern
Tidewater Linen Overshirt in ink
Tidewater Linen Overshirt£110
Dune Wide-Leg Trouser in clay
Dune Wide-Leg Trouser£95
Ember Lambswool Crew in moss
Ember Lambswool Crew£120
Moor Organic Tee in chalk
Moor Organic Tee£38
A folded pre-loved Hollow Linen Shirt
Hollow Linen Shirt, pre-loved£45 · one of one
Feature 1

A Digital Product Passport for every garment.

What
A passport panel on the product page and a public passport page for each item: fibre composition and origin, a five-stage supply chain, CO₂e, water, wash-tested durability, care, and a QR code for the care label.
Why
These are the fields the EU textiles rules are expected to ask for. Each passport has its own permanent web address, so the QR code on a garment keeps working after the product is archived or sold out.
How
A Product passport metaobject with a public template at /pages/passport/…, a theme block that reads it on the product page, and a QR code drawn in the browser with no third-party service.
fernlowe.dev.jiggyjaw.com/pages/passport/fl-dpp-sh-hol-01
The public passport page for The Hollow Linen Shirt, with environmental figures, materials and supply chain
The public passport page, rendered by the theme from one metaobject.
Features 2 and 3

Fit guidance and pre-loved, on the main product page.

Fit
A fit scale from slim to relaxed, a plain-English fit note and a size-chart dialog with a cm and inch toggle. Three shared size charts serve every product, so one edit updates all of them.
Pre-loved
New products show "Also available pre-loved from £45". The pre-loved item shows a graded condition and a note about any repair, and links back to new.
Why
Fewer "which size?" questions and fewer size returns. Keeping pre-loved in the main catalogue gives it the same search, SEO and reporting as everything else, instead of a separate shop nobody finds.
fernlowe.dev.jiggyjaw.com/products/hollow-linen-shirt
The Hollow Linen Shirt product page with the pre-loved link, colour and size options and the fit scale
Pre-loved link, variant options and the fit scale, all theme blocks a merchandiser can move in the editor.
Feature 4

A materials library that stays true.

What
A homepage section listing the four materials Fernlowe uses, each with its origin and certification.
Why
Sustainability claims go out of date when they are typed into copy. Here they come from the same Material records the passports use, so a change of supplier is one edit.
Flax and linen
European linen
Raw lambswool and yarn
British lambswool
Cotton bolls and thread
Organic cotton
Corozo nut and buttons
Corozo buttons
fernlowe.dev.jiggyjaw.com
The materials library section on the Fernlowe homepage
The section is built from Material metaobjects, not hard-coded copy.
Features 5 and 6

Clean data that search engines, the 3PL and ad catalogues can read.

SEO
Organisation-level return and delivery policy, site search and breadcrumbs in structured data, on top of Shopify's product markup. The returns window and free-delivery threshold are theme settings, so policy changes need no code.
Data
One SKU pattern, a barcode per variant, Shopify's standard product taxonomy and hand-written SEO titles and descriptions on every product.
Why
Rich results in Google without an app, and product data that lines up with a warehouse system and with Google and Meta product feeds.

SKU anatomy

FLBrandSH-HOLStyleOATColourMSize
"@type": "MerchantReturnPolicy",
"applicableCountry": "GB",
"returnPolicyCategory":
  "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": {{ return_days }},
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"

Excerpt from the theme's structured-data snippet. The return window comes from a theme setting.

How it's built

The product is the hub; shared records hang off it.

Size charts and materials are shared, so one record serves many products. The passport sits on its own page so its QR code outlives the listing.

Product variants, SKU, barcode, 8 fernlowe.* metafields Size chart metaobject · 3 shared Material metaobject · 4 records Product passport metaobject · own public URL Pre-loved product condition, repair note passport lists materials fit + chart composition passport two-way link
Theme

A fork of Shopify Horizon, Shopify's newest theme architecture. Three theme blocks, two sections and a metaobject template, styled from the theme's own colour settings. Passes Theme Check with no new warnings.

Data model

Three metaobject definitions and eight pinned product metafields, with validation (fit must be 1 to 5; condition is a fixed list).

Loader

A Python script pushes the whole catalogue through the Admin GraphQL API: definitions, images, metaobjects and one productSet call per product. Safe to re-run on any store.

Deploy

Shopify CLI pushes the theme from a git repo, one branch per store, so every change is reviewable and reversible.

By the numbers

Small catalogue, complete records.

6products, one pre-loved
5product passports
4materials
3shared size charts
8validated metafields
0paid apps

Product data and compliance

A data model ready for Digital Product Passports, built so non-developers can keep it accurate.

Listings that sell and rank

Accurate, SEO-written listings with structured data, fit guidance and a single SKU and barcode scheme.

Theme development

Custom Horizon blocks and sections, a git workflow and a repeatable catalogue loader instead of hand edits.