Most merchants get this decision backwards. They install five apps that almost-but-not-quite fit, then pay a developer four-figure sums to "just glue them together." Or they spend €15,000 on a custom build for a problem that an existing €20-a-month app already solves better than they ever could.
The Shopify ecosystem has its own architecture, its own economics, and its own gotchas. Generic "buy vs build" advice misses all of them. JMS Dev Lab has shipped 12 apps across the Shopify ecosystem and works directly with retail merchants navigating this decision — the framework below is what we actually use, and where custom is genuinely the only option.
For the broader software question across any business, see buy vs build custom software. This article is Shopify-specific.
Two failure modes account for nearly every regret I've heard from store owners:
The reason this decision goes wrong is timing. By the time you're asking the question, you've usually got a quote in hand and you're either dazzled by the precision of "we'll build exactly what you need" or terrified by the price. Neither is a good frame for decision-making.
"Custom Shopify development" covers four very different things. The cost, complexity, and right answer change depending on which one you actually need.
Editing the storefront. Layout changes, custom sections, colour and typography tweaks, conditional content. This is the cheapest tier — usually a few hundred to a few thousand euros — and most "I need a custom Shopify dev" requests turn out to be this.
An application connected to your store via the Admin API. It can read orders and customers, push data to other systems, run scheduled jobs, present a custom admin UI. Lives on your hosting (or a Shopify-managed app). Doesn't go on the App Store — it's just for you.
Code that runs inside Shopify's checkout pipeline itself. Can change line item prices, apply discounts conditionally, validate cart contents, or block orders before the customer pays. This is the only tier that can affect checkout in real time. It requires either Shopify Plus or distribution through the App Store as a public app — you can't deploy a Function privately to a non-Plus store.
Replacing the Shopify storefront entirely with a custom React app. Almost always the wrong answer for SMBs. The benefits are real for Plus merchants doing tens of millions in revenue. For everyone else, you're paying to rebuild what Shopify themes already do, and inheriting the maintenance.
Run any "should I build this?" idea through these five questions in order. Stop at the first one that gives a clear answer.
Search the App Store. Search competitor reviews. Search Reddit and the Shopify Community. The category names are often non-obvious — "blocking unprofitable orders" doesn't surface ProfitShield until you search for "margin," "profit calculator," or "checkout validation."
If three or more apps exist with active development and decent reviews, you're in commodity territory. Custom is almost certainly wrong.
An App Store app at €30 a month costs €1,080 over three years. A custom build of the same thing might be €6,000–15,000. Even ignoring maintenance, the app wins on cost unless the custom build replaces 5+ paid apps or unlocks revenue that the apps cannot.
The apps win the maintenance battle too — Shopify ships breaking API changes every quarter, and an app vendor handles those. Your custom build doesn't.
Email marketing, reviews, search, basic reporting, inventory sync — commodity. Use the best app and stop thinking about it. Your bespoke jewellery commission structure, your industry-specific compliance workflow, the algorithm that makes your repair business work — that might be core. Core gets custom; commodity doesn't.
If your data must stay on EU infrastructure for GDPR, if your auditors require you to control the system, or if the workflow itself is the IP you're trying to protect — custom starts to make sense even when an app technically exists.
This is the question almost nobody asks until it's too late. A custom Shopify app needs at least one developer who knows your codebase. That person leaves, gets sick, or just gets too expensive. An App Store app's vendor handles that risk for you. Don't build custom unless you have a credible bus-factor answer.
The five questions in flow form:
App Store apps install in minutes, are maintained by their vendor, get tested against every Shopify release, and spread their development cost across thousands of merchants. For commodity functions there's no contest.
Real example: SpamShield runs a 4-layer spam detection engine — client signals, server-side ML, Claude AI, a global spam network across all installed stores. Building that custom for one merchant would take six months, cost €30,000+, and you'd lose the shared spam-network data flywheel that makes detection improve every week. The app costs €7.99–29.99 a month. There is no version of "build it custom" that wins here.
The same applies to email marketing, reviews, search, abandoned cart, page builders, currency switching, basic loyalty, basic subscriptions, image optimisation, and any function with five or more credible apps in the category.
Custom is the right answer when at least one of these is true:
Across the small Shopify retailers JMS Dev Lab works with, one specific kind of order quietly destroys margin: a 30% off code stacked with free shipping on a product that already had a thin margin. The merchant ships it, eats the loss, and the monthly P&L looks fine because the loss hides inside the shipping line.
JMS Dev Lab went looking for an app to stop this. BeProfit and TrueProfit both do post-sale margin reporting — they tell you, after the order has already shipped, that you lost money. That's useful for monthly review. It does not stop the loss.
The only way to stop the loss is to evaluate margin during checkout and either block the order or force a manual review. That requires Shopify Functions, which only runs as a deployed app. There was no existing app doing this. So custom was not a preference — it was the only path.
Most merchants will not be in this situation. If an app already does what you need, install it. The decision to build custom should feel forced by the absence of options, not chosen for the romance of "it'll be exactly what we need."
The smartest approach is rarely "custom" or "off the shelf." It's install the closest app, run with it, build custom only when you have hit a real ceiling.
What "real ceiling" looks like:
If all four are true, the migration path is straightforward: export your data while you still have access, document the edge cases the app handled (you'll forget them), and brief the developer clearly. See how to brief a developer for the brief structure.
Three questions I ask every merchant who tells me they "need a custom app." They sound obvious. They are not.
The decision changes once you answer those honestly. Most "I need custom" turns into "I need a better app" inside ten minutes.
Run the five questions on whatever you're about to build. If you stop at Q1 or Q2 with a clear App Store answer, you just saved €6,000+. If you stop at Q5 with a confirmed bus-factor answer and a real gap in the App Store, custom is the right call — and now you can have a sensible conversation with a developer.
If you're evaluating apps, two of mine address gaps the App Store hadn't filled: ThemeSweep finds dead code from uninstalled apps, and ProfitShield blocks unprofitable orders at checkout.
If you're hiring a developer, the next two reads are how to brief a developer and hiring a developer for the first time. Avoid the buy-versus-build trap before it costs you.
Tell me what you're trying to do. If an existing app solves it, I'll point you at the right one — even if it's not mine.
Start a Free ConversationRelated reading: How to Replace a Business Spreadsheet with a Custom App · 5 Signs Your Business Has Outgrown Spreadsheets · Outgrown Airtable? Here's What to Do Next · Buy vs Build: When Should a Small Business Build Custom Software? · Free Software Review.