Custom vs App Store Shopify: Build or Buy?
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 15 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.
The Decision Most Merchants Get Backwards
Two failure modes account for nearly every regret I've heard from store owners:
- Building custom when an app already exists. A developer quotes €8,000 for a "custom email capture form." Mailchimp, Klaviyo, and Privy all do it for €0–30 a month. The merchant pays the €8,000 because nobody told them to look first.
- Installing an app when custom would be cheaper. A merchant stacks four apps to handle one workflow: import, transform, validate, sync. €200 a month, fragile, breaks every Shopify API release. A €6,000 private app would have replaced all four and paid back inside three years.
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.
What "Custom" Actually Means on Shopify
"Custom Shopify development" covers four very different things. The cost, complexity, and right answer change depending on which one you actually need.
Theme customisation (Liquid and CSS)
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.
Private app (custom backend, your store only)
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.
Shopify Functions (Rust or Wasm at checkout)
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.
Custom storefront (Hydrogen / headless)
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.
The 5-Question Decision Framework
Run any "should I build this?" idea through these five questions in order. Stop at the first one that gives a clear answer.
Q1 — Does an app already exist for this?
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.
Q2 — Cost of best existing app over 36 months vs one-time build?
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.
Q3 — Is this core to your business model or a commodity function?
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.
Q4 — Do you need data portability or IP ownership?
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.
Q5 — Can you maintain this when the original developer is unavailable?
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.
Decision Tree
The five questions in flow form:
- Does a Shopify app already exist? → YES → Q2.
- Q2: Is the app cost over 36 months less than the build cost? → YES → Use the App Store.
- Does an app exist that ALMOST fits, and you'd build a thin wrapper around it? → Hybrid path. Use the app, customise around the edges.
- Is it a commodity function (email, reviews, search, inventory)? → App Store, full stop.
- Is it core to your competitive advantage AND no app exists AND you have ongoing dev capacity? → Custom build.
- Is it a checkout-time decision that no app can make for you? → Shopify Functions (often distributed as a public app, not private).
When the App Store Wins (Most of the Time)
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 has a free plan, then €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.
When Custom Wins (Fewer Cases Than You Think)
Custom is the right answer when at least one of these is true:
- No app does the specific thing you need. Pre-checkout margin validation is a real example — BeProfit, TrueProfit, and similar apps are all post-sale reporting. None of them blocks an unprofitable order before payment. That gap is what made ProfitShield buildable as a category-defining app rather than a "me too" install.
- Data sovereignty or GDPR rules out third-party storage. Some regulated industries cannot ship customer data to a US-based app vendor.
- Deep integration with an in-house ERP, POS, or compliance system that no app supports. Bespoke jewellery operations, multi-site retail with custom inventory rules, integrations into legacy accounting platforms.
- The "app" IS your business model. You're building a Shopify SaaS — in which case you're also building the company that maintains it, and "custom" is just "our product."
Why JMS Dev Lab Built ProfitShield Instead of Buying
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 Hidden Costs Both Options Ignore
App Store hidden costs
- Data lock-in. Most apps store your data in their database, not yours. Migrating off means re-keying or scripting an export the vendor may not officially support.
- Price hike risk. Vendor doubles the plan. You either pay or migrate — both have a cost.
- Vendor abandonment. The Shopify App Store has thousands of apps that haven't been updated in two years. Some still work. Some break silently after API version sunsets.
- Slow theme injection. Apps that inject script tags or theme blocks add weight to every page load. Five apps later your store is 2 seconds slower than it should be. See the hidden cost of uninstalling Shopify apps for what gets left behind.
Custom build hidden costs
- API versioning. Shopify ships a new API version each quarter and sunsets the oldest one twelve months later. A custom app needs an active developer relationship to stay current.
- Bus factor. One developer knows the codebase. They get sick, leave, or charge double. You're stuck.
- Maintenance compounds. Year one is the build. Years two, three, and four are smaller bills that don't go away. Plan €1,500–5,000 a year ongoing.
- Hosting and monitoring. Someone has to watch the logs, rotate keys, patch the dependencies. Apps come with this baked in.
The Hybrid Path (Usually the Right Answer)
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:
- You've genuinely used the app for 90 days, not 9.
- You've contacted the vendor about the feature gap and either heard "no" or seen it parked indefinitely.
- The workaround is costing you measurable time or revenue every week.
- The cost of a custom replacement is recoverable inside 24 months.
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.
A Quick Sanity Check Before You Decide
Three questions I ask every merchant who tells me they "need a custom app." They sound obvious. They are not.
- What did you actually search for in the App Store? Nine times out of ten the answer is one keyword. The right app is two keywords away.
- What does the workflow look like in 18 months if it works? If you can't picture it growing, you don't need to build a system — you need a spreadsheet and an app.
- Who maintains this when you're on holiday? If the answer is "me, on my phone," that rules custom out for almost every solo merchant. The App Store vendor is your on-call.
The decision changes once you answer those honestly. Most "I need custom" turns into "I need a better app" inside ten minutes.
Your Next Step
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.
Related 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? · How Much Does a Custom Shopify App Cost in Ireland? · How a Solo Studio Shipped 6 Approved Shopify Apps · Free Software Review.
Want real numbers for your own project? See our published fixed prices — websites from €500, custom software from €3,000.
Not sure whether you need a custom Shopify build?
Start a Free ConversationHave a problem like the one in this post?
We build focused software for businesses that off-the-shelf tools don't fit. Get a free, no-pitch review — if buying an app or doing nothing is the right call, we'll say so.
— or just leave your email and I'll send the honest fix (one email, no newsletter) —