Skip to content
Available for new work

Shopify custom apps, built for one store.

A Shopify custom app is software built for your store alone: it isn’t listed on the App Store, and it does exactly what your business needs. It can sync stock and orders with your other systems, change how discounts, delivery and payment options work at checkout, add blocks to your theme, or give your team a screen inside the Shopify admin. I build them with Shopify’s own APIs, Functions and extensions.

An App Store app, or one built for you?

Start with the Shopify App Storepublic appsApps listed publicly and installed by many stores. Their developers maintain them, and you pay a monthly fee.. If an app there does what you need, it is almost always cheaper and faster than building, and I’ll say so. The trouble starts when you install three apps to do one job, each adding scripts to the storefront and a monthly fee, and none of them quite fits the way you work.

A Custom appone storeAn app built for a single store, installed through custom distribution, and not listed on the App Store. You own what it does. is built for your store alone. It talks to Shopify through the Admin APIGraphQLShopify’s GraphQL API for products, orders, customers, inventory and more, used by apps to read and change the store., reacts to events through WebhookseventsMessages Shopify sends when something happens, such as an order being created or stock changing, so an app can act on it., and changes checkout behaviour through Shopify Functionsserver-side logicSmall pieces of code Shopify runs on its own servers to customise discounts, delivery options, payment methods and cart validation.. There is nothing to install on the storefront that you don’t choose to add.

The right answer is often both: App Store apps for the common jobs, and a small custom app for the part that makes your business different.

Point at an underlined term for a plain-English definition.

What a custom app can do

Seven kinds of Shopify custom app work

Most custom apps combine two or three of these. Each is built on what Shopify supports today, so it keeps working through Shopify’s updates.

Jump to a section
  1. Sync and automation with the Admin API
  2. Discounts, delivery and payment rules with Shopify Functions
  3. Checkout UI extensions
  4. Blocks for your theme
  5. A screen for your team inside Shopify
  6. Background work that runs on events
  7. Headless and custom storefronts

Admin API

Sync and automation with the Admin API

The most common custom app is a back-office one: keeping products, stock, prices and orders in step with an ERP, a PIM or a warehouse, or automating a job someone does by hand every day. It uses Shopify’s GraphQL Admin API, bulk operations for large catalogues, and webhooks so it acts when something changes rather than polling.

Shopify Functions

Discounts, delivery and payment rules with Shopify Functions

Shopify Functions let a store change how the checkout behaves, in code Shopify runs on its own servers: custom discounts such as tiered or bundle pricing, hiding or renaming delivery options, reordering or hiding payment methods, and cart and checkout validation that stops an order that breaks a rule. They replace much of what Shopify Scripts used to do.

Checkout extensibility

Checkout UI extensions

Checkout UI extensions add your own fields and content to the checkout, the thank you page and the order status page: a delivery instruction, a gift message, a trade account number, an upsell or a trust message. They replace checkout.liquid, which Shopify has retired, and they keep working through Shopify’s checkout updates. Most checkout customisation needs Shopify Plus.

Theme app extensions

Blocks for your theme

A theme app extension adds blocks that your team places in the theme editor, such as a size guide, a delivery date estimate or a stock message, without anyone editing theme code. Because the block belongs to the app, it survives a theme change.

Embedded admin app

A screen for your team inside Shopify

An embedded app gives your team its own page inside the Shopify admin, built with Shopify’s Polaris components so it looks and behaves like the rest of Shopify: a returns queue, a production planner, a trade account approval screen, or a report the standard analytics can’t produce.

Webhooks and jobs

Background work that runs on events

Some apps have no screen at all. They listen for orders, refunds or stock changes and do something with them: send an order to a supplier, update a spreadsheet the finance team relies on, or flag a fraud pattern. The work is in making them reliable, with retries, logging and an alert when something fails.

Storefront API

Headless and custom storefronts

Where the storefront itself needs to be custom, Shopify’s Storefront API and Hydrogen let a React or Next.js front end sell through Shopify’s checkout. It is the right answer less often than it is suggested, and I will say when a theme would do the job.

How a custom app is built

Scoped, prototyped, then shipped to your store

  1. AI-generated

    Scope it against the App Store

    What you need, what existing apps already do, and the smallest custom piece that closes the gap.

  2. AI-generated

    Prototype on a development store

    A working version on a copy of your data, so you see it do the job before it touches the live store.

  3. AI-generated

    Build and test

    Shopify’s app template, the GraphQL Admin API, and tests on the parts that move money or stock.

  4. AI-generated

    Install and hand over

    Installed on your store through custom distribution, with the code in your repository and notes on how it works.

Shopify custom app questions

What is a Shopify custom app?Behind it · We don’t know whether we need one.

An app built for your store alone, installed through custom distribution and not listed on the App Store. It uses the same APIs as public apps, but does exactly what your store needs.

Do we need Shopify Plus?Behind it · We’re on Basic or Shopify.

Not for most custom apps. Admin API apps, theme blocks and many Shopify Functions work on every plan. Customising the checkout itself mostly needs Plus.

Who owns the code?Behind it · We don’t want to be locked in.

You do. It lives in your repository and your hosting, so any developer can pick it up.

Where does the app run?Behind it · We don’t want another server to look after.

Functions run on Shopify’s own servers. Apps with a back end run on managed hosting chosen with you, with monitoring so failures are noticed.

Can you replace the apps we already pay for?Behind it · We pay for five apps that half work.

Sometimes. If a small custom app does the job of several paid ones and removes their scripts from the storefront, it can pay for itself. If not, I’ll say so.

Available for new work

UK based · PHP · Python · JS · TS. Every first call is free.