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.
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.
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
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.
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.
AI-generated
Build and test
Shopify’s app template, the GraphQL Admin API, and tests on the parts that move money or stock.
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.
DC
Available for new work
UK based · PHP · Python · JS · TS. Every first call is free.