Tech stack for a Shopify app (2026)
Product bundles app for Shopify, designed by StackPrism from one sentence: 12 components, a reason for each, and the live checks that watch them.
The stack
Next.js
Node.js
- Inngest
PostgreSQL
Shopify
Sentry
“A Shopify app that lets merchants create product bundles and volume discounts: an admin embedded in the Shopify admin, a widget on the storefront, discounts applied at checkout, and billing through Shopify.”
Make it yours. Open this stack in the editor to check its health, harden it and hand it to your coding agent. No sign-up, nothing to generate.
Start from this stackSelect a component to see what it does and what it connects to, or pick one above to see what breaks if it goes down. Pinch or use the buttons to zoom.
Why this stack
Merchants install the app through Shopify OAuth and manage bundles in an admin UI that runs inside the Shopify admin through App Bridge. That admin and the storefront widget, a theme app extension on the merchant’s store, both call a Node.js API on Vercel. The API keeps bundle rules in PostgreSQL, syncs products and discounts with the Shopify Admin API, reads storefront data through the Storefront API and has Shopify apply the discounts at checkout. Merchants pay through the Shopify Billing API, Inngest runs background jobs and Sentry reports errors.
Why each piece
All 12 components on the diagram: what each one does, what it talks to, and what stops if it goes down.
Storefront Widget
Theme app extension. Calls Node.js API (fetches).
Nothing else on the diagram depends on it.
Embedded Admin UI
In Vercel
Next.js React app. Calls Node.js API and Shopify App Bridge (renders).
Nothing else on the diagram depends on it.
Node.js API
In Vercel
Shopify app backend. Calls PostgreSQL (reads/writes), Inngest (triggers), Sentry (reports), Shopify Admin API (syncs), Shopify Storefront API (reads), Shopify Checkout (applies), Shopify OAuth (authenticates) and Shopify Billing API (manages). Called by Embedded Admin UI and Storefront Widget (fetches).
If it goes down, 2 of 11 components stop working.
Inngest
In Vercel
Async jobs. Called by Node.js API (triggers).
If it goes down, 1 of 11 components degrades.
PostgreSQL
Supabase hosted. Called by Node.js API (reads/writes).
If it goes down, 3 of 11 components stop working.
Shopify OAuth
In External Services
Merchant login. Called by Node.js API (authenticates).
If it goes down, 3 of 11 components stop working.
Shopify Checkout
In External Services
Discount application. Called by Node.js API (applies).
If it goes down, 1 of 11 components degrades.
Shopify Admin API
In External Services
Catalog and discounts. Called by Node.js API (syncs).
If it goes down, 1 of 11 components degrades.
Shopify Storefront API
In External Services
Storefront data. Called by Node.js API (reads).
If it goes down, 1 of 11 components degrades.
Shopify Billing API
In External Services
Subscription billing. Called by Node.js API (manages).
If it goes down, 1 of 11 components degrades.
Shopify App Bridge
In External Services
Embedded app runtime. Called by Embedded Admin UI (renders).
If it goes down, 1 of 11 components degrades.
Sentry
In External Services
Error tracking. Called by Node.js API (reports).
If it goes down, 1 of 11 components degrades.
When this stack fits
- Merchants manage everything without leaving the Shopify admin.
- Charges should appear on the merchant’s Shopify bill rather than a separate card form.
- Bundle rules need their own database, beyond what Shopify stores.
When to pick something else
- Your logic has to run inside checkout itself: that’s Shopify Functions, which this diagram doesn’t show.
- The discounts are simple and for one store: Shopify’s built-in automatic discounts may be enough.
What you need to build this
12 components across 6 areas of the stack.
Build it with your AI agent
Hand the stack to Claude Code, Codex, Cursor or any coding agent as a brief: how it connects, install steps and a build plan.
Frontend2
- Docs
Embedded Admin UI · Next.js
Next.js React app
npm install next
Storefront Widget
Theme app extension
Backend & APIs5
Data1
- Docs
PostgreSQL
Supabase hosted
Auth1
- Docs
Shopify OAuth
Merchant login
Observability1
- Docs
Sentry
Error tracking
npm install @sentry/nextjs
Install
npm install next @sentry/nextjs
SDKs only. Pick your own database driver or ORM.