Theme code, connections to your other systems, and the things apps can't do. For stores that have outgrown what settings and plugins can handle.
Worth checking which side of this line you're on before paying anyone to write code, because the left column is where most requests actually belong.
The first thing we do with any request is check whether an app already solves it. A twenty a month app usually beats a custom build you'd own and maintain, and we'll say so even though the build would bill considerably more. Custom code is worth writing when the alternative is worse, not when it's merely possible.
They have very different consequences for cost, updates, and what happens if you stop working with whoever built it.
Where
Changes to how pages are built and displayed, written in Shopify's own templating language.
What it means for you
Cheapest and most common. The catch is that a theme update can overwrite it, so customisations need recording so they can be reapplied rather than rediscovered.
Where
Custom information attached to products, collections, or customers that Shopify doesn't hold by default.
What it means for you
Uses Shopify's own system, so the data stays yours and stays in the admin. This is how most "we need a field for X" requests should be handled.
Where
Software built for your store alone, usually to connect Shopify to something else or automate a process.
What it means for you
More capable and more to own. It needs hosting, monitoring, and updating when Shopify changes its interfaces, which happens on a schedule.
Where
Shopify handles products and orders, and the storefront is built separately as its own application.
What it means for you
Rarely the right answer. You lose the theme editor your team uses, you maintain a second codebase, and you take on work Shopify was doing for you.
We work down this list in order. If something can be done with theme code or extra fields, it goes there, because those stay inside Shopify and cost you nothing extra to run. A private app is a real ongoing commitment, and headless is a decision to become a company that maintains software.
The most common reason a store needs a developer. Someone is copying data between systems by hand and it's costing hours and creating mistakes.
Keeping what the website says in stock matched to what's actually on the shelf, especially if you also sell in a shop or on other marketplaces.
The hard partDeciding which system is right when they disagree, because they will.
Orders, refunds, and fees flowing into your accounts without someone re-entering them at month end.
The hard partTax handling and getting the numbers to reconcile exactly, not approximately.
Orders reaching your warehouse or courier automatically, with tracking coming back to the customer without anyone copying numbers.
The hard partPartial shipments, splits, and what happens when something is out of stock after ordering.
Customer records and order history where your sales or support team already works, rather than in a separate tab.
The hard partMatching the same person across systems when they used two email addresses.
Different prices for different customers, minimum quantities, and accounts that order on terms rather than paying upfront.
The hard partKeeping trade pricing invisible to everyone else, reliably.
Getting your catalogue into shopping ads, marketplaces, and comparison sites with the right fields in the right format.
The hard partEvery destination wants the data slightly differently.
Before building any of these, we check whether a connector already exists. Most popular accounting and shipping tools have official Shopify apps that do this properly, and paying a small monthly fee beats owning custom code. Building is for when nothing exists, or when the available option can't handle how you actually work.
Products are the easy part and everyone assumes they're the hard part. Here's what actually causes trouble.
What has to move, and how hard each part is
The URL row is the one that costs money if it's handled badly, and it's usually handled badly because it isn't anyone's job on a migration project. The full version of that work is covered under SEO migration, and it needs doing before launch rather than after the traffic drops.
Your store keeps taking orders throughout. Nothing gets published without being tested somewhere safe first.
A look for existing apps or settings that would solve it. Sometimes the project ends here and that's a good outcome.
Theme, extra fields, or a private app. Chosen for what you'll be living with rather than what's quickest to write.
A copy of your theme, or a development store for anything larger. Your live store is untouched while it's built.
Live in one step, with a written record of what was changed and where, so the next person isn't guessing.
Only on Shopify's top plan, and even then within limits. On other plans the checkout is fixed and no developer can change that.
It matters less than people think. Shopify's checkout has been tested across an enormous number of stores and converts well. Most requests to change it are about branding rather than a measurable problem.
They can, which is why we keep a written record of what was changed and where. Reapplying documented changes is straightforward. Rediscovering undocumented ones is not.
Where possible we use Shopify's own extension points, which survive updates. That isn't always available, and we'd tell you which parts of a job are which.
Usually. We'd start with a review of the theme, the apps, and any custom code, and tell you what's worth keeping.
The common finding is a heavily modified theme that can no longer be updated. That's a real decision point, and we'd lay out the options rather than just quoting to work around it.
It depends entirely on your volume and whether you need the specific things it unlocks, mainly checkout customisation and higher limits on automation.
At lower volumes the fee is hard to justify. We'd rather work out what you actually need first than assume the bigger plan is the answer.
You'd usually know because you have specific requirements a theme genuinely can't meet, plus a development team to maintain what you build.
If you're asking because you read that it's faster, that's not a good enough reason on its own. A well-built theme with the apps under control is fast, and it costs a fraction as much to keep running.
You do, on payment, and it lives in your store or your repository rather than ours. The Shopify account is yours and we work in it as a staff member you can remove.
If we build a private app it's registered to your account, not to us. Leaving us doesn't mean leaving anything behind.
Scoped per job rather than as a retainer, since most Shopify work is a specific thing that needs building. Pricing sits on the main web development page.
Related services
Thirty minutes on whether it needs building, or whether something already exists that does it.
Or email hello@culmen.digital