Shopify App Development

Shopify App Development, From Private Tool to App Store Listing

We build apps on the Admin GraphQL API, Shopify Functions, checkout UI extensions and theme app extensions. Custom apps for one merchant, or public apps taken through App Store review and billing. We publish our own apps, so the review process holds no surprises.

Shopify embedded app interface built with Polaris showing merchant configuration settings

Custom App or Public App

The choice is about distribution, not code quality. It determines who can install the app, whether Shopify reviews it, how you charge for it, and who owns the result.

Custom App — Single Merchant, Unlisted

Built for one store and installed through a direct link, not the App Store. No Shopify review queue, so you ship when the work is done. You own the code and the infrastructure outright, and you pay for development and hosting rather than a monthly subscription per store.

  • Distribution: installed on your store only, via an unlisted install link from the Partner Dashboard.
  • Review: no App Store review, though Shopify's API terms and protected customer data rules still apply.
  • Billing: none. There is no subscription to charge yourself, so cost is the build plus hosting.
  • Ownership: the source code, repository and hosting account are yours, and any developer can maintain it.

Build a custom app →

Public App — Listed on the Shopify App Store

Built to be installed by any merchant, distributed through the App Store, and reviewed by Shopify before listing and after significant changes. It must handle multi-tenant data, OAuth for every install, subscription billing and support at scale. This is a product business, not a one-off build.

  • Distribution: discoverable in the App Store, with listing copy, screenshots and category placement affecting install volume.
  • Review: Shopify checks functionality, performance, OAuth, billing behaviour, data handling and listing accuracy before approval.
  • Billing: the Billing API handles recurring charges, usage charges and free trials, with Shopify collecting through the merchant's invoice.
  • Ownership: you own the app and its revenue, and you carry ongoing obligations for support, uptime and API version upgrades.

Launch a public app →

What We Build With

Admin GraphQL API

Products, orders, customers, inventory, metafields and metaobjects read and written through the Admin API, with bulk operations for large catalogues and cursor pagination throughout.

Shopify Functions

Discount, shipping, payment customisation, cart transform and validation logic written in Rust or JavaScript and executed inside Shopify rather than in a script tag.

Checkout UI Extensions

Extension points in checkout and Thank You pages for delivery estimates, city pickers, upsell blocks and custom fields, all within Shopify's supported checkout framework.

Flow Connectors

Custom triggers and actions that expose your app to Shopify Flow, so merchants can wire it into automations without asking a developer for every rule change.

Theme App Extensions

App blocks merchants place in the theme editor, replacing script injection. They uninstall cleanly and do not leave orphaned code behind in the theme.

Webhooks and Event Pipelines

Order, fulfilment and inventory webhooks consumed into queues with HMAC verification, idempotency keys, retries and a dead letter path for anything that fails.

Billing API

Recurring subscriptions, usage-based charges, free trials, plan upgrades and cancellation handling implemented against Shopify's managed pricing and billing endpoints.

App Bridge and Polaris

Embedded admin interfaces built with App Bridge and Polaris so the app looks and behaves like Shopify, including navigation, toasts, modals and resource pickers.

From Scoping to Submission

  1. 1

    Step 1 — Scoping and API FeasibilityWe confirm the Shopify APIs actually support the behaviour you want, identify the required access scopes, and flag anything the platform will not permit before you commit budget.

  2. 2

    Step 2 — Architecture and Data DesignMulti-tenant schema, session storage, webhook topics, queue design, rate limit strategy and GDPR mandatory webhooks decided up front, not retrofitted during review.

  3. 3

    Step 3 — Build and Embedded UIBackend services plus the embedded admin interface in Polaris, developed against a development store with real product and order data throughout.

  4. 4

    Step 4 — Billing and Merchant TestingBilling API wired to your pricing plan, then testing with real merchants on development and paid stores, covering install, upgrade, downgrade and uninstall paths.

  5. 5

    Step 5 — Listing and SubmissionListing copy, screenshots, demo video, privacy policy, support contact and a test account prepared, then submission to Shopify's app review team.

  6. 6

    Step 6 — Launch and IterateRespond to review feedback, publish, monitor installs, uninstall reasons and support volume, then ship improvements against what merchants actually complain about.

Common Questions

How long does a Shopify app take to build?

A focused custom app for one merchant usually takes four to eight weeks. A public app with billing, multi-tenant data, a polished listing and review readiness typically takes three to five months, and the review cycle itself adds time that is outside anyone's control.

Who owns the code?

You do, on final payment. That includes the repository, infrastructure definitions and documentation. For public apps the Partner account and app listing are registered in your name, so the app and its revenue are never held hostage by the agency.

What does App Store review check?

Shopify reviews OAuth and installation behaviour, performance impact on the storefront, correct billing implementation, handling of protected customer data, the mandatory compliance webhooks, and whether the listing accurately describes what the app does. Rejections are common on the first attempt.

What ongoing maintenance does an app need?

Shopify releases quarterly API versions and supports each for a year, so version upgrades are a recurring commitment. Add dependency patching, uptime monitoring, merchant support and adaptation to platform changes like checkout extensibility. Budget for it as an ongoing product cost.

How do we price a public app?

Most successful apps use tiered recurring pricing aligned to a usage metric such as orders or messages, with a free trial. We implement it through the Billing API and Shopify's managed pricing, so plan changes and cancellations are handled by the platform.

Describe the workflow no existing app solves

Talk to our app team