There are four ways to change a Shopify theme, from clicking in the theme editor to a full Git workflow. Part 1 covers the one every store owner should master first, and the habit that makes all the others safe.
The quickest way into a theme's code needs nothing but a browser. Where to find it, what each folder does, a small section you can build in five minutes, and how to undo a file you broke.
Shopify CLI gives you the theme on your own computer, your own editor and a live preview that reloads as you type. Installing it, the commands that matter, and the one mistake that wipes a merchant's changes.
Shopify's GitHub integration turns a branch into a theme and syncs both ways, including the merchant's edits. How to connect it, what it requires, and the branch setup I use so the live store only ever changes on purpose.
A personalised hockey jersey is really four products: the shirt, the name, the number and the badges. Here is how I made them check out as one line for EV Zug without touching the price.
Importing tens of thousands of past customers and orders into a live Shopify store would normally email every one of them. Here is how I built a migration app where that cannot happen.
A colour-variant product page on the new Curaprox store weighed 16.2 MB. Three unglamorous fixes brought it to 4.5 MB before launch. No framework changes, no new apps.
FC Basel runs its news, videos, league table, player pages and fan shop on a single Shopify theme. What it takes to make a store theme behave like a club website, and the jersey configurator in the middle of it.
For Inuikii, I replaced Shopify's native search and collection filtering with a Meilisearch layer of about 3,000 lines. Why a footwear brand needs colour grouping, what market-aware prices mean for search, and the paid app that went away along the way.
On Ecofort, customers paying by invoice were being told no whenever the credit check provider had an outage. How I separated 'declined' from 'did not answer', and the performance pass that came with the same project.
Most theme wishlists live in the browser and vanish with it. For Chrüterhüsli I built one that is stored on the server through a Shopify app proxy, and a button that checks the server before it claims anything is saved.
Brands with several Shopify stores want to write content once. I worked on the internal app that syncs it: metaobjects whose definitions differ between stores, images that must survive the trip, and a file library too big to read in one go.
Bruderer sells confectionery in German, English and French, with allergen data from several suppliers. Why the same allergen arrived under many spellings, and how a small normalisation step made the filters trustworthy.
Confiserie Sprüngli wanted its existing design on Shopify's Dawn theme. The product page details that make that work, starting with information tabs that disappear when a product has nothing to put in them.
Nile runs six Shopify stores, a test and a production store for each of CHF, EUR and GBP, from one shared theme. How a loyalty programme, country switching and SEO data work when every feature has to behave in three currencies.
At Spa Solutions, the price of a swim spa depends on who installs it. As the sole developer, I built that choice into the product page and the cart with dynamic Shopify discounts and installation products that can never drift out of sync.
Two Swiss club stores, two kinds of speed. On FC Zürich, three days of work made collection and product pages at least 30% faster. On FC St. Gallen, a release-date filter that renders almost instantly by using CSS instead of reloading.