The rack

Patterns that kept coming back, built once and kept.

The same problems return across stores: freight that will not rate, a supplier catalogue with no export, a feed sitting disapproved. Each fix got built inside a real engagement, named, and put on the rack — so the next store gets it assembled instead of rebuilt.

On the rack
7 systems
In production
6 live
Sector
Material brands
Off-the-shelf parts
None

N°01

Freight Engine

Shipping layer

live

LTL rates that appear in the cart, not on the invoice.

A carrier rating service wired into Shopify checkout for pallet freight. Destination normalized against the postal code before rating, accessorials declared up front, pickup dates checked against the carrier calendar, and oversized carts split into pallets before a rate is ever requested.

Scope

Live on a US tile and stone storefront

Stack

  • CarrierService API
  • Nuxt
  • Vercel
  • ABF

N°02

Catalogue Pipeline

Data layer

live

From a supplier with no API to a clean Shopify import.

Scrapers pull the source catalogue, a normalizer maps it to Shopify schema — variants, options, metafields, media rows — and Matrixify does the import. Currency conversion, delivery-time metafields, and tag rules are applied on the way through, so the sheet that lands is already the sheet you want.

Scope

Eight supplier catalogues, furniture and stone

Stack

  • Python
  • Playwright
  • Matrixify
  • Admin API

N°03

Feed Doctor

Channels layer

live

Getting a disapproved catalogue back into Merchant Center.

A review pass over everything Google actually checks: compare-at prices that no longer hold, placeholder tokens left in titles, restricted products still published, shipping services that contradict the feed. Bulk scripts run with a dry-run mode first, then resume from where they stopped.

Scope

Misrepresentation remediation across two storefronts

Stack

  • GraphQL Admin API
  • Python
  • GMC

N°04

Filter Builder

Catalogue layer

live

Storefront filters that work because the metafields are real.

Filters fail when metafields are half-populated and inconsistently spelled. This audits the catalogue against a canonical value map, fills the gaps with an LLM pass, and validates every write back against the allowed set before it commits.

Scope

Applied across a multi-thousand product core catalogue

Stack

  • Python
  • Claude API
  • Metafields

N°05

Index Control

SEO layer

in build

A catalogue that large should not all be indexed.

Search Console and store analytics decide what stays. Products that have sold, drawn traffic, belong to the core catalogue, or were added recently are protected; the long tail is tagged for noindex so crawl budget goes where revenue is.

Scope

Designed for catalogues past 100k products

Stack

  • Search Console
  • Shopify Analytics
  • Python

N°06

Multi-store Ops

Operations layer

live

Five storefronts, one operator, no drift.

Publication targets, inventory locations, taxonomy assignment, and shipping profiles kept consistent across a portfolio of stores. Every script verifies which store it is pointed at before it writes anything — the failure mode here is silent and expensive.

Scope

Five US-market storefronts under one company

Stack

  • GraphQL Admin API
  • Python
  • Shopify Flow

N°07

Price Monitor

Market layer

live

Competitor pricing, checked on a schedule.

A tracker that watches listing prices over time and reports movement, running unattended on a schedule. Built for marketplace pricing but the same shape works for any competitor set.

Scope

Running against a marketplace product set

Stack

  • Python
  • GitHub Actions

None of these ship alone.

A system arrives assembled into an engagement, not sold as a plugin. Tell us which part of your operation is failing and we will say which of these applies — or that none of them do.

Start a project →