app/routes/webhook.jsx
1  export async function action({ request }) {
2    const { topic, payload } =
3      await authenticate.webhook(request)
4
5    if (topic === "ORDERS_CREATE")
6      await syncToERP(payload)
7  }
Scopes
read_orders
write_products
read_customers
write_draft_orders
Webhook verified2025-10 API
Shopify App Development

When no app in the store
does what you need.

Custom, private, and public Shopify apps for brands in the UAE, Saudi Arabia, and across the GCC. Built on Shopify's current APIs and extension points — and maintained as those APIs move.

ShopifyShopify Admin API GraphQLGraphQL RemixRemix ReactReact TypeScriptTypeScript Node.jsNode.js PostgreSQLPostgreSQL Polaris Shopify Admin API GraphQL Remix React TypeScript Node.js PostgreSQL Polaris
What we build

Functionality the App Store doesn't sell

Five kinds of build — from a private app for one store to a public listing with billing.

Custom & private apps

Built for your store and nobody else's — no listing, no review queue, no compromise to fit a general market. The fastest route when the requirement is genuinely yours alone.

Public App Store apps

A listing built to pass review: OAuth, billing API, GDPR webhooks, and the performance thresholds Shopify actually enforces. Including the parts founders discover too late.

Integrations & APIs

ERP, WMS, CRM, accounting, and local logistics wired to Shopify through GraphQL, webhooks, and queued jobs — built to survive rate limits and the occasional outage on either side.

Admin, POS & checkout extensions

Extending Shopify's own surfaces rather than bolting on beside them — admin blocks, POS tiles, and checkout UI extensions that work inside Plus checkout instead of fighting it.

Upkeep & API versions

Shopify retires API versions on a schedule, and an unmaintained app breaks quietly. We track deprecations and upgrade before the notice becomes an outage.

How we work

Scoped tightly, or it never ships.

Four stages — the first one exists to make the app smaller, not bigger.

Free · 48 hours

Problem review

Describe what your store needs to do. We come back with whether an existing app already solves it, what a custom build would involve, and a rough range — before anyone pays anything.

01
Spec

Technical scope

Data model, API scopes, webhooks, hosting, and the failure cases written down — including what the app deliberately will not do. Fixed price agreed against that document.

02
Dev store

Build

Built and demoed on a development store you can install and click through — with real order data, rate limits, and the edge cases that only appear under actual load.

03
Handover

Install & own

Installed on your live store, with the repository, Partner app record, hosting, and documentation in your name — plus a clear picture of what upkeep costs from here.

04
Solutions in action

Watch what we've built

Short screen recordings of real apps running in real stores — no slide decks, no mockups.

Why it matters here

Most custom apps here exist for local reasons

Gulf merchants rarely commission an app because they want software. They commission one because a local courier has no Shopify integration, because COD needs its own reconciliation, or because an Arabic requirement has no off-the-shelf answer — problems the App Store was never built to solve.

Local courier & logistics APIs

Aramex, SMSA, Naqel, and the regional players who ship well but document poorly. We build against what their API actually returns, not what the PDF says it should.

COD reconciliation

Cash on delivery breaks the assumption that a paid order is a completed one. Custom logic for confirmation calls, failed deliveries, and settlement that generic apps simply don't model.

Arabic-aware from the start

App interfaces your team reads in Arabic, and data handling that survives RTL text, Arabic numerals, and names that break naive validation rules.

We'll say when not to build

Sometimes an existing app plus configuration beats a custom build, and we'll tell you when that's true — a smaller honest recommendation is better business than a project you regret.

FAQ

Shopify app questions, answered

What merchants and founders ask us before commissioning an app — answered without the sales pitch.

Do I need a custom app, or will an existing one do?+

Usually an existing one will, and we'll say so. A custom app earns its cost when the requirement is specific to your operation — a local courier, your ERP, your COD process — or when you're paying several apps to half-solve one problem. If configuration gets you there, that's the cheaper answer.

Who owns the app and the code?+

You do. The repository, the Partner app record, and the hosting are yours, and we hand over documentation with it. You are never in a position where leaving us means losing the app.

What does it cost to run after launch?+

A custom app is software, so it has hosting and upkeep — usually modest, but never zero. We give you the expected monthly running cost before you commit, along with what maintenance actually involves as Shopify retires API versions.

Can you publish to the Shopify App Store?+

Yes — including the parts founders underestimate: OAuth, the billing API, mandatory GDPR webhooks, performance thresholds, and a review process that will reject on details. Budget for a review cycle or two; nearly everyone needs one.

How long does an app take?+

A focused private app is typically 3–6 weeks; an integration depends almost entirely on how well the other system's API behaves. Public apps take longer because of review. You get a fixed scope and price before we start.

Let's build your
next big thing

Describe what your store needs to do — we'll tell you honestly whether it needs building.

Scope My App
info@nbt360.comWhatsApp usSPC Free Zone, Sharjah, UAE