The Cheshire Cheesecakes storefront, the shop front-end served by its private Shopify-connected operations software.

Custom Shopify apps for work standard apps cannot handle

Private dashboards, product logic and integrations built around a real merchant workflow—not custom software for its own sake.

The question

An app is the last answer, not the first

Every custom app is a permanent maintenance liability. It has to be worth one.

Most requests that arrive as “we need an app” are really requests to work around a catalogue, theme or process problem, and there is usually a cheaper way.

Before anything is built, the same three questions get asked. Can the catalogue be modelled differently so the requirement disappears? Can a metafield, a metaobject or a theme section carry it? Is there an established app on the Shopify App Store that already does this, maintained by someone whose entire business is keeping it working against platform changes?

If any of those is a yes, that is the recommendation, and it is usually the recommendation. A monthly subscription to a mature app is almost always cheaper over three years than owning code that has to be re-tested every time Shopify deprecates an API version.

What survives that filter is a narrow category: product, order or operating logic that Shopify has no native concept of, where the rules are specific to how this business works and cannot be forced into a general-purpose subscription.

Surfaces

Where custom Shopify software actually lives

The right surface depends on whether the problem sits with the customer, the merchant or the operation.

Scoping an app means naming which of these it needs. Each one adds review surface, testing surface and maintenance, so the list is kept as short as the requirement allows.

A private operational dashboard

A focused interface for staff work Shopify admin was not designed to carry: production planning, packing, stock controls, labels or merchant-specific review queues.

A Shopify data connection

Admin GraphQL, OAuth, signed webhooks and scheduled synchronisation move the right products, orders and inventory between Shopify and the private tool, with ownership and failure handling stated.

Rules unique to the business

Bundle components, box multipliers, delivery dates, production quantities and stock write-back are translated explicitly rather than hidden in staff memory or a spreadsheet.

A storefront or checkout surface

Where the customer journey needs it, theme app extensions, metafields and Shopify Functions put the interface and logic in the platform instead of bolting fragile scripts onto a theme.

The fewer of these a requirement needs, the better the answer is.

A real implementation

Shopify orders turned into kitchen operations

Private software for the work that starts after a cheesecake order is placed.

For Cheshire Cheesecakes, we built a private Shopify-connected operations dashboard that interprets bundle orders and delivery dates, then turns them into the information the kitchen needs to make and pack the order.

The app reads Shopify locations, products, variants, inventory and orders through Admin GraphQL. It separates actual bake units from bundle wrappers, delivery lines, add-ons and personalisation, then resolves box sizes and flavours into the quantities the kitchen works with.

Delivery and dispatch dates become daily and weekly bake lists, packing sheets and a four-week view of booked demand. Recipe data produces ingredient requirements and unit costs, while configurable print controls produce product labels with ingredients, allergens, nutrition, storage and batch details supplied by the merchant.

When staff enter finished stock, the app translates that count back into availability for mapped single products and box variants. New, changed and cancelled orders are handled through signed webhooks, with a scheduled full sync as the fallback rather than the only line of defence.

This is repository evidence of implemented capability, not a claim about saved time, reduced waste or commercial results. Those outcomes are not published without merchant-approved proof.

The decision

Custom app, existing app, or neither

Three columns, because the answer is usually not the first one.

Requirement types and the right place to solve them
RequirementUsually the right answerWhy
Reviews, loyalty, subscriptions, back-in-stockAn established App Store appMature products with dedicated teams maintaining them against platform changes. Rebuilding one trades a known fee for an unknown liability.
Specification data, filtering, richer product contentMetafields, metaobjects and theme workNative structures the storefront, the admin and search can all read. No app, no subscription, no upgrade risk.
A configurable bundle that must ship as its componentsA custom app with a Cart Transform functionShopify has no native concept of a configured box, and the warehouse needs component-level line items to pick against.
Orders that must become production, packing or labelling workA private Shopify-connected operations appThe workflow belongs behind the storefront and needs merchant-specific rules, staff controls and outputs rather than another theme screen.
Pricing, stock or fulfilment rules specific to the businessA custom app, or the back-office systemIf the rule belongs to the business rather than the storefront, it should live where every other system can reach it, not inside a theme.
Connecting Shopify to another system you already runAn integration, not an appA data flow between two systems is scoped around ownership and failure handling, which is a different project with a different shape.

Where the honest answer is an existing app, that is what we will say, and there is no charge for saying it.

Before code

What is settled before an app is written

App projects fail in the specification, not in the implementation.

These are answered in writing, because each one is expensive to change once the data model exists and merchants have configured against it.

  • The merchant workflow in plain language, including the cases that break the simple version
  • What the merchant configures themselves and what is fixed in code
  • How the order must appear to fulfilment, accounting and stock
  • Which Shopify surfaces are genuinely needed, and which are being added out of habit
  • Where configuration is stored, and which system holds the truth for each value
  • What happens to existing orders and configurations when the rules change
  • How the app behaves when a component goes out of stock or is deleted
  • Who holds the Partner account, the app listing and the deployment credentials
  • What is tested automatically, and what is verified by placing a real order

The last two are the ones most often skipped. An app nobody can deploy and nobody can test is a store outage waiting for a platform update.

Afterwards

Who owns it when Shopify changes something

Custom apps do not sit still. Platforms move underneath them.

Shopify versions and deprecates its APIs on its own schedule. A custom app is only as safe as the arrangement for keeping it current, and that arrangement is agreed before the first line is written rather than discovered at the first breakage.

The code, the repository, the Partner account and the deployment path belong to the client. Nothing is held in an account only we can reach, and nothing about leaving is designed to be inconvenient.

Maintenance is a named responsibility, which can be ours through ongoing capacity, an internal team’s, or a third party’s. What it cannot be is unassigned. An app with no maintenance owner works perfectly until the quarter it does not.

The implementation

What that app actually connects

The Cheshire Cheesecakes build, drawn as one system rather than described as one.

Shopify

  • Shopify storeLocations, products, variants, inventory and orders

Private operations app

  • Order interpretationBake units separated from bundle wrappers, delivery lines, add-ons and personalisation
  • Box and flavour resolutionBox sizes and flavours resolved into kitchen quantities
  • Recipe and cost dataIngredient requirements and unit costs
  • Print controlsConfigurable, merchant-supplied label content

Kitchen operations

  • Daily and weekly bake lists
  • Packing sheets
  • Product labelsIngredients, allergens, nutrition, storage and batch details
  • Four-week view of booked demand
Shopify data in, merchant rules applied in a private app, kitchen operations out, and finished stock written back.

This is repository evidence of implemented capability. No claim is made here about saved time, reduced waste or commercial results.

Money

What this work starts at

Published starting figures in GBP and USD, excluding VAT.

App delivery

Scoped after the selling model is written down

One bounded piece

Project sprint

£1,500$2,000

One bounded improvement: landing pages, a template rebuild, an analytics implementation, or a build-readiness review credited against a larger project.

  • One defined outcome, agreed before work starts
  • Fixed price and a fixed finish line
  • Credited against a larger project where it leads to one

Fixed price

Plus, B2B, multi-market

Advanced Shopify

From £8,000From $10,500

Shopify Plus, B2B, multi-market, multi-language, custom integrations or headless work. These configurations are sized after discovery, not instant-priced.

  • Trade accounts, price lists and B2B rules
  • Multi-market and multi-language configuration
  • ERP, PIM, WMS and accounting integrations
  • Headless or custom storefront work where justified

Starting price · scoped after discovery

Ongoing responsibility

Maintenance against platform changes

Per month

Optimisation

From £1,250From $1,650

A live improvement programme on one site. You set the priorities each month, we work the queue in order, and the month closes with what changed and what it did.

  • Outcome: measurable improvement to one live site
  • Queue: one active workstream, reprioritised monthly
  • Response: next working day
  • Scope: conversion, SEO, content and development work

Starting price

Per month

Development partner

From £3,000From $4,000

Continuous delivery across an agreed portfolio, with planning ahead of the work rather than a queue you have to keep feeding.

  • Outcome: continuous delivery across your estate
  • Queue: two active workstreams, planned a month ahead
  • Response: same working day, UK working days
  • Scope: Shopify and marketing-site delivery, plus roadmap planning

Starting price

App work is scoped after the selling model, the surfaces and the fulfilment requirement are agreed. A published figure before that would be a guess, and app guesses are wrong in one direction only.

Questions

Asked before this work is agreed

What is the difference between a custom app and a public one?

A custom or private app is installed on your store only, so it skips App Store review and can be shaped entirely around how you trade. A public app is a product sold to many merchants, which is a different business with listing requirements, support obligations and a review process attached.

Will a custom app slow the storefront down?

It can, which is why the surfaces are kept minimal. Theme app extensions load as part of the theme, and Shopify Functions run inside the platform rather than as an external call at checkout. Anything that would put a network round trip in the buying path gets challenged before it is built.

Can you take over an app somebody else built?

Usually, starting with a review of the code, the data model and the deployment path. Inheriting an app without that review is how a small change turns into an unplanned rebuild, so the review is a short bounded piece of work on its own.

How do we know this is not just a bundle app we could buy?

Because that gets checked first. Bundles, mix-and-match and product personalisation all have established App Store options, and for most catalogues one of them fits. Bespoke work earns its place when the configuration rules and the fulfilment requirement are specific enough that no existing mapping holds.


Describe the workflow, not the app.

What the customer does, what the team has to do next, and which rules are unique to the business. That is usually enough to say whether this is custom software, an integration or an existing subscription.

Discuss a project