Shopify

Shopify is where I spend most of my time. I like taking friction out of a webshop, for the customers and for the people running it: good UX, and integrations that handle the boring handovers. This is roughly what that looks like.

What I work on

UX on the storefront

Good UX starts with knowing who it’s for. The first-time visitor exploring the range, the returning customer who knows what they want and the gift buyer who doesn’t all need something different. So do the people behind the shop who keep the catalogue up to date or answer support. I use personas like these to decide what to improve first.

Friction can show up anywhere along the way: navigation and filters that don’t match how people look, slow pages, product information that doesn’t answer the question, a checkout that asks for too much. I change one thing at a time, preview it on a real store, test it, and compare speed, accessibility and checkout before and after, so it’s clear whether it helped.

Search and product data

A catalogue is full of things people already search for: materials, colours, sizes, styles, occasions. Product tags and metafields can turn that into landing pages. Someone searching for “black leather wallet” lands on a page made for it, and someone browsing can narrow down by what matters to them. Only the combinations worth ranking get a page of their own. The rest stay out of search results.

With several markets or languages, search engines also need to be told which page is meant for which market. That is what hreflang does, and it follows from how the stores are set up, whether that is one store with several Markets or several stores. The market setup and the SEO setup are best planned together. Structured data and canonicals do the rest: they make sure search engines understand the product information as well as shoppers do.

Being found by AI assistants (AEO and GEO)

More people now ask an AI assistant instead of searching, and assistants are starting to shop on their behalf. From what I’ve read, optimising for that is mostly good SEO done more strictly: accurate product data, consistent structured data, content in the HTML rather than behind scripts, and clear answers to real questions. I treat the catalogue, the feeds and the storefront markup as one surface that should tell the same story everywhere, and I’m keeping an eye on how Shopify’s own agentic channels build on it.

Integrations that remove manual work

A webshop is only as good as the systems around it, and a lot of friction hides in the handovers: copying data between tools, waiting for the next step, re-checking what should already be right. I build the event-driven and scheduled jobs that move product data, content, stock, fulfilment and reviews between Shopify and everything else, so processes run on their own. I like them serverless, observable and robust, so a hiccup in one system doesn’t spread to the next.

Small admin tools help too. My app Option sorter sorts product options naturally, so S/L/M becomes S/M/L without anyone doing it by hand.

Many stores, one way of working

Selling globally means lots of storefronts, markets and languages that should still feel like one brand. I build tooling that treats them as a fleet, with shared conventions and checks that catch drift or missing data before a customer does.

Data, feeds and email

Product data quality, translations, ratings and reviews, product feeds and customer emails all depend on the same underlying data. I like replacing opaque setups with code that can be tested and reviewed.

How I like to work

Shopify apps

I also build apps for merchants.