Skip to content

Notes.

Short reports from live client work. What we did, what happened, and what you can use on your own store.

(055)

16 Aug 2026

Fix

The tracking button with no setting to change

A subscription portal was sending customers to a carrier's website to track their order. The brand wanted them on their own tracking page. There is no setting for that anywhere in the app, and it turned out there did not need to be.

(054)

15 Aug 2026

Gotcha

The fix shipped, and half the customers never saw it

A product page fix went live, verified clean, and was reaching roughly half of the people who visited that page. The other half were served a snapshot of the theme taken before the fix existed, and nothing in the deploy flow says so.

(053)

14 Aug 2026

Gotcha

The gift note the warehouse never saw

Customers were typing gift messages at checkout and they were arriving in the admin exactly as designed. They were also absent from every packing slip, so the person packing the box had no idea they existed.

(052)

13 Aug 2026

Gotcha

The grid that broke on one store and nowhere else

Four images in a two-column grid rendered as one stack with a blank column beside them. Identical theme code, identical CSS, correct on three regional stores and wrong on the fourth, because the difference was not in the theme at all.

(051)

12 Aug 2026

Gotcha

Back in stock everywhere except where customers look

Two products came back into stock and were published, priced and buyable. They were also missing from the collection and the on-page picker that every real customer goes through, so as far as the store was concerned they didn't exist.

(050)

10 Aug 2026

Build

Twenty-five exhibitions the site wouldn't show

A gallery had thirty-seven exhibitions published and twelve on the page. The cap wasn't Shopify's, it was written into the section itself, so no amount of clicking in the theme editor could lift it.

(049)

10 Aug 2026

Fix

The accessibility code that was already there and doing nothing

The two worst faults on a store's contact form were attributes that read as correct. One pointed at an element that didn't exist, the other put focus on something that can't hold it. No scanner flagged either.

(048)

8 Aug 2026

Build

A Shopify sale banner that schedules itself

A client's sale starts at 7pm on a Thursday and ends eight days later. Instead of two calendar reminders and a late-night edit, the banner now carries its own schedule and handles both ends itself.

(047)

7 Aug 2026

Gotcha

The hidden Shopify product that leaked through a collection

A product meant to be sold only through one page was showing up in the shop anyway. Nobody unhid it. A navigation link pointed at the catch-all collection, which lists everything the store publishes.

(046)

6 Aug 2026

Fix

The consent banner that wasn't blocking anything

A US store had a consent banner set up and showing. Underneath it, every marketing script still loaded before anyone made a choice. We wired the actual blocking and verified it on the live page.

(045)

5 Aug 2026

Build

An order tracking page that stays on your Shopify store

Liquid+ customers checking a delivery now land on a branded tracking page on the store's own domain, not a carrier page covered in someone else's branding.

(044)

4 Aug 2026

Gotcha

The promote that would have deleted seven live pages

Pages built in the Shopify theme editor sync back to the live branch only. Promote a stale dev branch over it and git reads them as deletions, with no warning from anyone.

(043)

3 Aug 2026

Decision

Shopify B2B without the Plus upgrade

A client's next phase needed company accounts, wholesale pricing and payment terms. Last quarter that meant a Plus upgrade or custom build. We checked the changelog before quoting, and most of it is now native.

(042)

2 Aug 2026

Fix

The font that couldn't spell te reo

A Māori-design brand's headings kept looking wrong on words with macrons, and everyone assumed an encoding problem. The font itself drew the macron in the wrong place. We proved it and replaced the face.

(041)

1 Aug 2026

Speed

Five customer videos without the ninety megabytes

Five customer videos for a home page section added up to ninety megabytes of full-HD files. Shopify had already made smaller versions, it just doesn't hand them to you. Getting to them cut a phone's load to one clip at a fraction of the size.

(040)

31 Jul 2026

Gotcha

The CSS that looked dead but wasn't

Six styling rules looked orphaned, so we deleted them. A pixel diff at phone width caught two of them quietly holding the mobile footer together. The lesson is about how you prove a deletion safe.

(039)

30 Jul 2026

Build

A landing page that can't break the rest of the store

A campaign landing page for Steadyrack's ProFlex rack, fourteen sections built from a designed comp. The architecture decision that matters is what the page is not allowed to touch.

(038)

29 Jul 2026

Fix

Five stars the store never earned

A full render of a product page we were building showed a 5 out of 5 rating the store had never earned. Nobody wrote that overclaim. A default value and a rounding step manufactured it.

(037)

28 Jul 2026

Build

A reviews widget that renders exactly where you paste it

One Stop Print Shop sent through their review platform's embed code, and it was wired and verified the same day. The interesting part is how differently these widgets decide where to render.

(036)

27 Jul 2026

Build

The bundle app vanished, so we built bundling into the store

The paid app running Steadyrack's bundles was pulled from the App Store by its developer. We replaced it with a Shopify Function the store owns outright, proven on a dev store and then activated live.

(035)

26 Jul 2026

Build

Matching the design is a measuring job

On a pre-launch redesign, the menu and cart got a parity pass against the design file. Measuring instead of eyeballing found the drifts a side-by-side look would have waved through.

(034)

25 Jul 2026

Gotcha

Git push succeeded but the Shopify theme never updated

A GitHub-connected Shopify theme can silently refuse a change. Every local check passes, the push reports success, and the theme quietly stays frozen at the last version it liked.

(033)

24 Jul 2026

Build

Product feature icons the team adds themselves

A new eyewear brand needed feature icons on every product page. We built them as metaobjects, so the team adds a feature from the Shopify admin instead of asking a developer for one.

(032)

23 Jul 2026

Build

Four regional sites on one WordPress network

Bastion's web estate ran on Vercel, which put every content change in a developer's queue. We replatformed the group onto a single WordPress multisite network their marketing teams publish to daily.

(031)

22 Jul 2026

Build

Getting your product data into an app's cart drawer

Steadyrack wanted each cart line to show which bikes that rack suits. The cart drawer is rendered by an app, so we fed it the store's own product data instead of rebuilding the cart.

(030)

21 Jul 2026

Build

An interactive map on Shopify without a map app

A client wanted an interactive map on their contact page, with branded pins linking off to the places that matter. We built it as a theme section, no app, no monthly fee, editable in admin.

(029)

20 Jul 2026

Build

Exhibition pages the gallery publishes itself

An art gallery was booking developer time every time an exhibition opened. We turned the layout decisions into theme settings, and now a new show goes up without us in the loop.

(028)

19 Jul 2026

Build

A booking site that sells the experience, not just the dates

Custom WordPress for a luxury tour operator, with live availability and pricing on the page and a booking path built for high-value direct bookings.

(027)

16 Jul 2026

Build

Build the convention, not the feature

A client wanted a quote popup he could reuse anywhere later. So we built the rule, not the button. Any element that links to it opens it, no developer needed.

(026)

15 Jul 2026

Build

Shopify bulk pricing without an app

Volume pricing built as a Shopify function the store owns outright, with tier-aware totals, a savings table and a quote flow, all native, no app subscriptions.

(025)

14 Jul 2026

Build

An upsell that works no matter how the customer logged in

In-portal upgrade banners that read each subscriber's real plan. The first build only reached some logins, so we rebuilt it to work for every one.

(024)

12 Jul 2026

Build

The subscription widget the app couldn't show

Liquid+ wanted every subscriber to see where they are in their 90-day journey. The subscription app couldn't show it, so we built the part that could.

(023)

11 Jul 2026

Build

When a test wins, we make it part of the site

Steadyrack run CRO experiments to find what lifts conversion. When one wins, we build the winner into the theme, so it becomes permanent code they own and loads faster.

(022)

10 Jul 2026

Gotcha

Your Shopify product shows sold out, but it's in stock

A new variant launched showing sold out despite having stock. The cause isn't inventory, it's that new variants don't inherit the product's shipping profile.

(021)

9 Jul 2026

Speed

Speed work you can actually see

Making Cycliq's UK and US stores faster wasn't one magic fix, it was finding the specific things dragging those pages down and dealing with each.

(020)

8 Jul 2026

Fix

When your Shopify cart shows the wrong price

A subscription striking through a few cents, a bundle inflating toward a thousand dollars. This is how cart app price helpers go wrong, and where the real numbers live.

(019)

7 Jul 2026

Gotcha

A new variant goes public the moment you save it

A store was adding a second flavour ahead of a launch date. Shopify has no draft state for variants, so the new one shows up in the picker straight away and every existing variant title changes with it.

(018)

6 Jul 2026

Build

Shopify product images that change with the variant

Shopify attaches one image to a variant. Liquid+ needed a whole set per flavour, so we built it as a naming rule the team control from the media library.

(017)

5 Jul 2026

Build

A picker that looks designed and still behaves like Shopify

The Liquid+ flavour choice needed to be big, illustrated tiles rather than a dropdown. We built the tiles to drive Shopify's own variant control instead of replacing it.

(016)

4 Jul 2026

Gotcha

Why your Shopify product reviews aren't showing

A store's reviews stopped showing on some products. The reviews were fine. A trailing space had crept into a SKU, so the integration was matching against the wrong thing.

(015)

25 Jun 2026

Build

When your menu grows faster than your store

An electric bike retailer's navigation had sprawled as the range grew. We rebuilt it around broader collections and a mega-menu, driven by metaobjects the team control.

(014)

24 Jun 2026

Build

Custom teaching structure, built into WordPress

Structured Maths Approach teach a specific way. We built their method into WordPress with custom fields, so the site works how they teach, and they run it themselves.

(013)

20 Jun 2026

Gotcha

Why you can't restyle that Shopify widget, and what to do

A third-party widget that won't take your CSS is usually sealed inside shadow DOM. This is why your styles bounce off it, and the realistic way to make it fit your brand.

(012)

19 Jun 2026

Build

Fixing double shipping charges on Shopify

Fulfil from two locations and Shopify can charge a cart for shipping twice. The custom function we built keeps it to one, with no app and no monthly fee to rent.

(011)

18 Jun 2026

Build

Stop Shopify discount codes stacking on your sale

Running a sale while codes are still live means some customers stack both. We built Cycliq a clean switch to block that during a sale, rolled out one market at a time.

(010)

12 Jun 2026

Gotcha

Why your Shopify cart count stopped updating

A store's cart count only refreshed on reload. The cause wasn't the cart, it was switching the cart from a drawer to a full page, which unhooked the counter.

(009)

30 May 2026

Build

Design tokens before paint

Before restyling a live store, we spent a day making colours, fonts and spacing come from one place. Every change since has been cheaper because of it.

(008)

26 May 2026

Build

One geo-redirect across three Shopify stores, no app

Steadyrack runs a store per region. We replaced the third-party geo-redirect app with an in-theme system they own, consent-first, no subscription.

(007)

22 May 2026

Build

A dealer hub, built once and run across every region

A brand selling through dealers across several regional Shopify stores needed a logged-in dealer portal in each. We built it once and ported it, so every region runs the same thing.

(006)

20 May 2026

Build

One country switcher across multiple Shopify stores

Cycliq run a store per region. We replaced a scattered set of native pickers with one clean country and currency switcher that behaves the same everywhere.

(005)

19 May 2026

Decision

Stop renting your checkout

Cycliq's bundles ran through a monthly app. We rebuilt them as code Cycliq owns, running on their own checkout, no subscription and nobody else on the critical path.

(004)

15 May 2026

Build

Blocking Shopify checkout by state, as code you own

Some hemp products can't legally ship to some US states. We built the rule as a Shopify checkout function Willie's own, so it's enforced on every order with no app.

(003)

10 May 2026

Build

A site that sells trust for an IT company

For an IT provider, trust is the product. We designed and built a WordPress site around each service line, with real proof and a clear path to a call.

(002)

30 Apr 2026

Build

A trade portal where every account sees its own price

Trade customers buy on negotiated pricing with quantity breaks. We built a WordPress portal that reads those tiers straight from the client's ERP, so the price is right everywhere it appears.

(001)

15 Apr 2026

Build

Off Wix, onto a site they own

A café and events venue moved off Wix onto WordPress they own outright, designed from scratch, with booking, ticketing, and a 3D venue tour built in.

Nothing here yet for that one.