Fixed scope
Fixed price
against a written scope
- Written scope and acceptance criteria up front
- Fixed price against that scope
- Staged delivery with review points
- Change requests priced separately, never absorbed silently
We are a Shopify Plus Agency specializing in custom development, B2B, checkout extensibility, ERP/CRM integrations, and retained support for scaling brands.
Book a Free Consultation →A whole storefront, not just a theme — information architecture, merchandising, the app stack, the integrations behind it and the launch that ties them together. Built on Shopify’s own primitives so you are never renting your storefront from a page builder.
Most stores that underperform do not have a design problem. They have a catalogue that fights its own navigation, an app stack nobody has audited in two years, and an ERP integration held together by a nightly CSV.
Product taxonomy, option structure, metafield schema and collection logic get settled before a single template is designed. Get this wrong and every later decision — filtering, search, feeds, translations — inherits the mistake.
That work is unglamorous and it is the difference between a store that scales to ten thousand SKUs and one that has to be rebuilt at three thousand.
See how a build runs
We maintain seven apps in the Shopify App Store, so we read the app layer the way we read our own code. Every app you install is scoped, budgeted for performance, and checked for overlap before it ships.
Frequently the recommendation is to remove one, not add another — three apps doing a third of a job each is the most common thing we find.
Book a scoping call
Shopify’s native primitives, used properly. No page builders and nothing that puts a vendor between you and your own storefront.
Sections on every template, app blocks where they belong, and settings your merchandisers can change without opening a ticket.
Server-rendered by default, which is why a Liquid storefront is fast and crawlable before a line of JavaScript runs.
Structured content with an actual schema. Specs, care instructions, compliance copy and campaign content live in Shopify with types and validation — not pasted into a rich-text field on every product.
Currency, language, domains and market-specific catalogues configured natively, so a second region is a setting rather than a second store to maintain.
LCP under 2.5s, INP under 200ms, CLS under 0.1 — Google’s published thresholds, treated as a budget from the first commit.
Theme code in version control with review, a preview theme per branch, and a deploy you can roll back.
The scope varies, but these are the areas almost every end-to-end build touches.
Taxonomy, collections, navigation and search — designed against your real catalogue rather than a demo store.
Home, collection, product, cart and content templates, with the section library your team will actually use to run campaigns.
Image strategy, script control, critical CSS, font loading, and an audit of what every installed app costs on first paint. Measured on your templates with your app stack live, because that is the store your customers actually get.
ERP, PIM, 3PL, subscriptions, tax and marketing platforms — connected through supported APIs and webhooks with retry and reconciliation, not a nightly CSV that fails silently on a bank holiday.
Cart logic, shipping thresholds, discounts and — on Plus — checkout extensibility and Shopify Functions.
Redirect map, analytics and structured data verified, documentation and training so your team can run it.
Assembling a store from a premium theme and a dozen apps is a legitimate way to start. Here is where it stops paying.
| DIY / theme + apps | TLX store build | |
|---|---|---|
| Time to first revenue | Fastest | Slower — it is a build |
| Up-front cost | Lowest | Higher, paid once |
| Cost at scale | Compounding app subscriptions | Fixed; fewer apps needed |
| Catalogue ceiling | Whatever the theme assumed | Designed around your catalogue |
| Performance | Whatever the app stack leaves you | Budgeted and measured |
| Integrations | Connector apps, per-record limits | Direct API with retry and reconciliation |
| Who fixes it | Several vendor support queues | The developers who built it |
| Best when | Validating, or the theme genuinely fits | The storefront is the constraint on growth |
7 stages. Open any one of them.
Working out what the store actually has to do.
We go through your catalogue, current stack, analytics and operations, then write the scope down. Most of the surprises on a store build are found here or paid for later.
Taxonomy before templates.
Product types, options, metafield schema, collection logic and navigation get settled first, because every later decision inherits them.
Every state, not just the happy path.
Templates designed at the component level — empty, loading, error, out-of-stock and long-product-name states included — and signed off before anyone writes Liquid.
Working software on a preview store from week one.
Theme, sections, metaobjects and integrations built in Git with a preview theme per branch. You get a link and can watch it come together.
The pass that happens with your apps installed.
Cross-browser and device coverage, keyboard and screen-reader checks, integration failure modes, and Core Web Vitals measured against the budget.
Boring on purpose.
Redirect map verified, analytics and structured data confirmed, DNS cut over, then watch the real numbers. A rollback plan exists before it is needed.
A store is not finished at launch.
Retained hours for fixes, seasonal work and iteration, with reporting on where the hours went. Or take it in-house — the handoff exists so that is a real option.
Three shapes, depending on how well defined the work is. Every one starts with a scoped written proposal — no work begins on a verbal estimate.
Fixed scope
Fixed price
against a written scope
Retainer
Monthly
block of hours
Time & materials
Tracked time
billed as used
Rates are quoted against a written scope rather than published as a tier, because the same service costs very different amounts on a five-template store and a five-hundred-template one.
The build is the same shape. What changes is the problem the product page and the catalogue have to solve.
A whole storefront rather than just a theme: information architecture and taxonomy, templates and merchandising, performance engineered for Core Web Vitals, integrations with ERP, PIM, 3PL and subscription platforms, cart and checkout logic, and launch with handoff. The data model — product types, options, metafield schema and collection logic — is settled before any template is designed, because every later decision inherits it.
If your data model, navigation and integrations are sound and only the storefront is weak, a Shopify theme project is cheaper and faster. A full build is warranted when the catalogue structure itself is the constraint, or when integrations and operations have to change alongside the front end.
Yes — most of our work is on stores that already trade, and we do not require a rebuild to start. The discovery audit usually finds enough targeted work to justify itself before any larger project is scoped.
Yes. Shopify Plus changes the build: checkout extensibility, Shopify Functions, B2B catalogues, multiple Markets and higher API limits all affect how templates and pricing logic are structured. Say so early, because it affects design as well as development.
You do. The theme lives in your Git repository and your Shopify store, with no licence, no runtime dependency on us and nothing to keep paying for. Moving to another agency means handing over a documented codebase.
Through supported APIs and webhooks, with retry, idempotency and reconciliation, so a failed sync is visible rather than silent. Where a well-maintained connector app already exists, we will tell you to use it rather than bill you to rebuild it.
It depends on catalogue size, template count and integration scope, so a number on the page would be meaningless. We scope first and quote against a written scope. Tell us your SKU count, current platform and integrations and we will put a rough range in writing before a scoping call.
Both are part of the build rather than a later pass: semantic markup, keyboard-reachable navigation and filters, visible focus, contrast checked against real backgrounds, clean heading order, product and breadcrumb structured data, and canonical handling for filtered URLs. We will not claim a compliance certification we have not been audited for.
Most clients move onto a retainer for fixes, seasonal work and iteration through On-Demand Shopify Support. If you would rather run it in-house, the handoff stage covers documentation and training for your team.
Tell us what your current storefront stops you doing. We will come back with an honest read on whether it needs a rebuild, a rescue, or nothing at all.
Tell us what you are building and we will come back with a straight read on scope — including when the answer is that you do not need us.