Shopify Development

Custom Shopify apps, themes, integrations and migrations, built by a UK team who write the code themselves.

Talk to us about your project

We are a UK development agency that builds on Shopify for merchants who have outgrown what themes and off-the-shelf apps can do. We write custom apps, Online Store 2.0 themes, ERP and warehouse integrations, Shopify Plus checkout customisations and platform migrations. You talk directly to the developers doing the work.

What Shopify development work do we take on?

Most Shopify projects that reach us fall into one of four areas. Some need a bit of each.

  • Custom apps. Private apps for a single store: admin tools, checkout extensions, Shopify Functions for discounts, delivery and payment rules, Flow actions and background jobs. See custom Shopify app development.
  • Themes. New Online Store 2.0 themes, or rebuilding a theme that has been patched by several agencies over the years. Sections and blocks your team can edit without calling a developer. See Shopify theme development.
  • Integrations. Getting orders, stock, prices and customers moving reliably between Shopify and your ERP, accounting package, 3PL or PIM. See Shopify integrations.
  • Performance. Finding out why a store is slow, which usually means app scripts, oversized images and render-blocking theme code, then fixing it. See Shopify speed optimisation.

Which kind of Shopify help do you actually need?

Merchants often ask for "a developer" when the real problem sits somewhere else. This is roughly how we split it.

What you are trying to doUsually solved byWhere it lives
Change how the storefront looks or is laid outTheme developmentLiquid, sections and blocks in your theme
Add logic Shopify does not offer, such as tiered pricing or custom delivery rulesCustom app with Shopify FunctionsRuns on Shopify's infrastructure at checkout
Show app-driven content on product or cart pagesTheme app extensionApp blocks your team places in the theme editor
Keep stock and orders in step with another systemIntegrationA connector app, middleware, or a custom service
Give staff a tool inside the Shopify adminEmbedded admin appInside Shopify admin, using App Bridge and Polaris
Make the store load fasterSpeed optimisationTheme code, app scripts and assets

If you are not sure which row you are in, that is what the first call is for.

How do we build on Shopify?

We use the platform the way Shopify intends it to be used now, which saves trouble at the next API version or theme update.

Apps are built on the GraphQL Admin API. Shopify treats the REST Admin API as legacy, and new features land in GraphQL first. Shopify releases a new API version every quarter and supports each one for at least 12 months, so we pin a version and plan the upgrade rather than finding out when something stops working.

Custom logic at checkout goes into Shopify Functions and checkout UI extensions, not scripts injected into the page. Storefront features from apps go into theme app extensions, so they can be added and removed in the theme editor without leaving code behind in your theme files.

We work in TypeScript throughout, with NestJS or the Shopify app template on the backend and PostgreSQL via Prisma for data. When a project needs a separate customer portal or internal tool, we build it as a web application that talks to Shopify through its APIs.

Shopify Plus development

Shopify Plus adds features that matter for larger or more complex stores, and some of them change what is possible in a build.

  • Checkout customisation. Plus merchants can add checkout UI extensions to the information, shipping and payment steps. On other plans, extensions are limited to the thank you and order status pages.
  • Custom apps with Functions. A custom app that contains Shopify Functions can only be installed on a Plus store. Public apps from the App Store can use Functions on any plan, which affects how we package the work.
  • B2B. Companies, locations, catalogues, price lists and payment terms let you run wholesale from the same store as retail.
  • Higher API limits. Plus stores get more GraphQL query cost per second, which helps integrations that push a lot of data.

If you are moving from checkout.liquid or the old Ruby-based Shopify Scripts, we audit what each customisation actually does and rebuild it with extensions and Functions.

Moving to Shopify from WooCommerce or another platform

We migrate stores from WooCommerce, Magento, BigCommerce and custom-built platforms. The data export is the easy part. The parts that cause trouble later are these:

  • Redirects. WooCommerce uses /product/ paths and Shopify uses /products/. Every old product, category and content URL needs a 301 redirect to its new home, or you lose the search rankings those pages had built up.
  • Customer passwords. Password hashes cannot be moved to Shopify. Customers need to activate their accounts, or sign in with a one-time code if you use the newer customer accounts. We plan the comms for this.
  • Product structure. WooCommerce attributes and variations do not map one to one onto Shopify options and variants. Extra data usually ends up in metafields or metaobjects, and it is worth designing that before importing anything.
  • Order history. Historic orders can be imported for reporting and customer accounts, but they should not trigger emails, stock changes or fulfilment.
  • Plugins. Each WordPress plugin needs a replacement: a native feature, an App Store app or a small custom build.

We run trial imports into a development store, check the results with you, and only then do the final import and DNS switch.

How we work

  1. Discovery call. A short call to understand the store, the problem and any systems involved. No charge.
  2. Written scope and fixed quote. We send a scope describing what we will build, what we will not, and a fixed price for it.
  3. Build. Work happens in a development store or a duplicate theme, never on your live storefront.
  4. Review. You test it with real products and real scenarios. We fix what you find.
  5. Launch. We deploy, monitor the first orders or syncs, and stay close in case anything behaves differently in production.
  6. Support. Ongoing support for API version upgrades, fixes and new features, if you want it.

FAQs

Do you work with stores that are not on Shopify Plus?

Yes. Most custom app, theme, integration and performance work runs on any Shopify plan. A few features need Plus, mainly checkout extensions on the information, shipping and payment steps, and custom apps that use Shopify Functions. If something you want depends on Plus, we tell you during the discovery call so you can decide before any work is quoted.

How much does Shopify development cost?

It depends on what is being built and which systems are involved, so we do not publish set prices. After a short discovery call we send a written scope and a fixed quote. The quote covers the work described in the scope, and anything you add later is quoted separately before we start on it.

Can you take over a store another agency built?

Yes. We start with an audit of the theme, installed apps and any custom code, so we know what we are inheriting. Common findings are duplicate tracking scripts, leftover code from uninstalled apps and theme edits made directly in a live theme. We give you a written list of issues and suggested priorities before changing anything.

Will we own the code?

For custom work, yes. Theme code lives in your store and can be connected to a Git repository you control. For custom apps, we can host them for you or hand over the repository and deployment so your own team or another developer can run them. We agree this in the scope.

Should we use an existing app instead of a custom one?

Often, yes. If an App Store app does what you need at a sensible monthly cost, it is usually the cheaper and quicker option, and we will say so. Custom work makes sense when the logic is specific to your business, when several apps are fighting each other, or when the app would need workarounds to fit your process.

If you have a Shopify project in mind, get in touch and tell us what you are trying to do.

Have a project in mind?