For Shopify merchants

Your catalog knows what fits. Your storefront doesn’t.

We build fitment search, fix the render-time costs apps add to every page, and write the integrations no app will ever ship — for merchants whose catalogs are more complicated than the platform assumes.

Parts and equipment merchants on Shopify — typically 1,000–100,000 SKUs, where “does this fit mine?” is the question that decides the sale.

The gap

Apps demo well. Then they run on every page you render.

An app looks fine in a demo store with fifty products. In production it adds Liquid to every template, metafield reads to every render, and an external API call to every dropdown change. None of that appears in the app listing, and none of it is visible until a storefront starts timing out.

The failure mode is rarely a crash you can point at. It is a store that got slower one install at a time, fitment data sitting in a vendor’s database you cannot query, and an invoice that scales with your catalog rather than your revenue.

What we build

Five things, in the order they usually matter

  1. Fitment search that lives inside your store

    Cascading Year/Make/Model dropdowns, a fitment badge on the product page, and a saved-vehicle garage. ViewForge stores fitment as native Shopify metaobjects — queryable from the Storefront API, and still yours if you uninstall. Eight prebuilt verticals, not just automotive.

  2. Catalog data that is actually fit to filter

    Most merchants already have fitment written into product titles and descriptions — “Fits 2019–2022 Ford F-150 XLT” — but never formalised. Getting it out and into a structure you can filter on is the work that has to happen before any search tool is worth installing.

  3. Finding what taxes every page render

    Theme app extensions, metafield reads, and Liquid complexity accumulate invisibly across installs. We measure what your storefront actually costs to render, identify which app is responsible, and fix or remove it. Shopify does not document the signal that reveals this; we found it and published how.

  4. Getting your data back out

    Most fitment apps keep your catalog relationships in their own database. That is fine until you want to change vendors, run your own query, or stop paying. We build so the data stays in your Shopify store, in a format you can read without us.

  5. The integration nobody will ever sell you

    Apps integrate with each other’s mainstream platforms. None of them will integrate with your supplier’s feed, your ERP export, or the spreadsheet that runs your returns process. Someone has to build those by hand.

Proof

What this looks like in practice

50 / 50

page loads failing at baseline

15,200 → 540

Shopify complexity score

3,318ms → 474ms

time to first byte

A merchant’s storefront began returning intermittent 500s — roughly 40–60% of page loads, across every template, whether the app’s merchant-facing embed was toggled on or off. Nothing in the theme editor explained it.

We wrote a probe script that hit the storefront 50 times and recorded status, Shopify’s undocumented `shopify-complexity-score` header, and time to full response. Broken baseline: 50 failures out of 50, complexity averaging ~15,200, time to first byte 3,318ms. After the fix: 50 successes out of 50, complexity ~540, time to first byte 474ms.

We published the whole investigation — including the four hypotheses that turned out to be wrong, and the probe script itself — so any merchant can run the same measurement against their own storefront.

How we work

Measure before changing

Storefront performance work starts with a reproducible measurement, not a guess about which app is at fault. If we cannot show you the number moving, we have not fixed anything.

Your store, your data

Fitment and catalog relationships belong in your Shopify store, not in a database we control. You should be able to leave and keep everything that matters.

Small first

We scope the smallest useful thing, ship it, and earn the next one. A fitment pilot on one collection beats a six-week catalog project nobody has validated.

Fails loudly

When an import or sync breaks we surface it. We do not insert a fallback that makes a broken integration look healthy while quietly serving wrong fitment.

Where we fit

  • We build storefront functionality and the data behind it. Paid acquisition, creative, and merchandising strategy are a different craft — we’ll point you to someone who does them well.
  • We work on the platform you’ve already chosen. We don’t resell apps or themes and take no referral fees, so our recommendation is never for sale.
  • We work in defined engagements with a visible end. If what you need is a full replatform, we’ll tell you on the first call.
  • Shopify
  • Liquid
  • Metaobjects
  • Storefront API
  • Admin API
  • Theme App Extensions
  • TypeScript
  • React
  • Node.js
  • PostgreSQL
  • Cloudflare Workers

Where we’d start

A storefront render check

We measure what your storefront actually costs to render — repeated page loads against your live store, recording status, Shopify’s complexity score, and time to first byte — and hand you a written findings document: what is expensive, which app is responsible, and what removing it would buy you. Nothing is changed on your store to produce it.

It’s the cheapest way to find out whether we’re any good.

No pitch deck, no sales process. 30 minutes to work out whether this is worth doing.