Best Tech Stack for a Shopify App as a Solo Developer
The best tech stack for building a Shopify app as a solo developer - frameworks, databases, hosting, and tools.
Best Tech Stack for a Shopify App as a Solo Developer
Shopify has over 2 million active merchants. Building an app for their ecosystem gives you access to store owners who are already spending money to grow their business. The Shopify App Store is a proven distribution channel, and solo developers have built apps that generate $10k-50k+/month. The catch? Shopify has strong opinions about how apps should be built, and fighting their ecosystem choices will cost you time.
Here's the stack that works best when you lean into what Shopify provides.
Recommended Stack at a Glance
| Layer | Pick |
|---|---|
| Framework | Remix (Shopify's official choice) |
| Language | TypeScript |
| Admin UI | Polaris (Shopify's component library) |
| CLI | Shopify CLI |
| Database | PostgreSQL (via Prisma ORM) |
| Hosting | Railway or Fly.io |
| Background Jobs | BullMQ + Redis |
| Billing | Shopify Billing API |
The Open-Source Pieces by the Numbers (2026)
These are the libraries the official template pulls in. All figures checked on 2026-05-30 from the GitHub and npm registry APIs.
| Package | Latest version | GitHub stars | npm downloads/week | License |
|---|---|---|---|---|
@remix-run/react |
2.17.4 | ~33,000 (remix-run/remix) | ~978,000 | MIT |
@shopify/cli |
4.1.0 | ~700 (Shopify/cli) | ~345,000 | MIT |
@shopify/polaris |
13.9.5 | ~6,200 (Shopify/polaris-react) | ~205,000 | proprietary (Shopify) |
@shopify/shopify-api |
13.0.0 | ~960 (Shopify/shopify-api-js) | ~368,000 | MIT |
prisma |
7.8.0 | ~46,000 (prisma/prisma) | ~11,600,000 | Apache-2.0 |
bullmq |
5.77.6 | ~8,900 (taskforcesh/bullmq) | ~5,600,000 | MIT |
The Foundation: Remix + Shopify CLI
Shopify has made their preferred stack crystal clear. Running shopify app init scaffolds a Remix application with everything pre-configured: OAuth flow, session management, webhook handling, and Polaris integration. This isn't just a recommendation. It's the path of least resistance, and for a solo developer, that matters more than any technical preference.
Both pieces are mature and actively maintained. Remix sits at about 33,000 GitHub stars and ships under the MIT license, with @remix-run/react pulling roughly 978,000 npm downloads a week (latest 2.17.4). The Shopify CLI is published as @shopify/cli at 4.1.0, around 345,000 weekly downloads, and the source repo carries about 700 stars. These figures were checked on 2026-05-30 and the version numbers move fast, so always let shopify app init pull the current template rather than pinning an old one.
The Remix template includes:
- Authentication with Shopify OAuth (already working)
- Session storage with Prisma
- Webhook registration and handling
- App Bridge integration for embedded app behavior
- Polaris components for Shopify-native UI
Could you build with Next.js or a different framework? Technically yes, but you'd spend days reimplementing what the Remix template gives you for free. As a solo developer, that's days you can't afford.
Frontend: Polaris Components
Polaris is Shopify's design system, and using it is essentially mandatory for apps displayed in the Shopify admin. Your app needs to look and feel native to the Shopify experience. Polaris gives you every component you need: data tables, forms, navigation, modals, banners, cards, and layout primitives.
The React version of Polaris is mature and well-documented. It handles responsive layouts, accessibility, and dark mode automatically. Don't waste time building custom UI components when Polaris covers 95% of what you need. The @shopify/polaris package sits at version 13.9.5 with around 205,000 npm downloads a week, and the polaris-react repo carries roughly 6,200 GitHub stars (checked on 2026-05-30).
For the storefront side (if your app injects UI into the merchant's store), use Shopify's Theme App Extensions. These use Liquid templates and vanilla JavaScript. Keep them lightweight. Merchants will uninstall your app if it slows down their store.
Backend: Remix Server + Prisma
The Remix template handles your backend through Remix loaders and actions. This is a solid pattern for Shopify apps because most operations follow a request-response cycle: merchant loads a page, you fetch data from Shopify's API, display it, and handle form submissions.
Prisma comes pre-configured as the ORM and handles session storage out of the box. Extend it with your own models for app-specific data. Prisma's type-safe queries and migration system are a huge productivity win for solo developers. It is one of the most-used ORMs in the Node ecosystem, with roughly 11.6 million npm downloads a week, about 46,000 GitHub stars, and the Apache-2.0 license. The current major is 7.8.0 (checked on 2026-05-30), so run npx prisma migrate dev against that version rather than an older Prisma 5 or 6 you might have cached.
For interacting with Shopify's APIs, use the official @shopify/shopify-api package. It handles rate limiting, pagination, and authentication. It is at version 13.0.0 with around 368,000 npm downloads a week (checked on 2026-05-30). The GraphQL Admin API is Shopify's preferred interface and gives you more flexibility than the REST API.
Database: PostgreSQL
PostgreSQL is the right choice. You'll store session data, merchant preferences, and whatever domain data your app manages. Shopify apps typically need to cache data from Shopify's API (products, orders, collections) to avoid hitting rate limits on every page load.
For hosting, Railway includes managed PostgreSQL with one click. Neon (serverless Postgres) is a good alternative if you want a separate database service with a generous free tier. Neon's Free plan gives you 0.5 GB of storage per project, 100 compute hours per project, and up to 100 projects at $0 per month with no card required, scaling to zero after 5 minutes of inactivity. Its usage-based Launch plan bills $0.106 per compute-hour and $0.35 per GB-month with no monthly minimum (checked on 2026-05-30). The free tier is fine for early development, but note that hitting a free monthly limit suspends compute until the next billing cycle, which is not what you want once real merchants are loading your app.
Keep a Redis instance alongside Postgres. You'll need it for background jobs and potentially for caching Shopify API responses. On Railway, Redis is one-click and bills as usage like any other service.
Hosting: Railway or Fly.io
Shopify apps need to be always-on. They handle OAuth callbacks, webhooks, and embedded admin requests in real-time. Serverless platforms with cold starts are a poor fit.
Railway is my top pick for solo developers building Shopify apps:
- One-click PostgreSQL and Redis provisioning
- Simple deploys from GitHub
- Environment variables management
- Logs and metrics included
- Hobby plan at $5/month, which includes $5 of resource usage credit
That last point matters. Railway's Hobby plan is $5 a month and bundles $5 of included resource usage, so a low-traffic app plus a small Postgres and Redis can land near the floor. Usage above the included credit bills as a delta, and the credit resets each cycle rather than rolling over. The team-oriented Pro plan is $20 per seat per month (checked on 2026-05-30).
Fly.io is the alternative if you want more control over deployment regions. Shopify merchants are global, and having your app close to their location reduces latency. Fly's multi-region deployment is straightforward. Fly bills purely on usage with no free tier for new accounts. The smallest shared-cpu-1x machine with 256 MB RAM runs about $2 per month in a standard region like Frankfurt, persistent volumes are $0.15 per GB-month, and egress runs $0.02 to $0.12 per GB by region (checked on 2026-05-30). Budget more than the headline number once you add a real-sized VM, Postgres, and a volume.
Billing: Shopify's Built-In Billing API
This is a huge advantage of the Shopify ecosystem. You don't need Stripe. Shopify handles all billing through their Billing API. You create charges or subscription plans through the API, Shopify shows the merchant a confirmation screen, and you get paid through your Shopify Partner account.
The revenue share is genuinely founder-friendly. Effective January 1, 2025, Shopify takes 0% on your first $1,000,000 USD of lifetime gross app revenue, then 15% on earnings above that, so you keep 85% past the cap. Two things to know: the $1M exemption is now a one-time lifetime threshold rather than the older annual reset, and there is a one-time $19 USD App Store registration fee per Partner account to access the revenue share plan. All billing is also subject to a 2.9% processing fee plus applicable sales tax (checked on 2026-05-30). In exchange for the share, you get:
- Zero payment processing setup
- Merchant trust (they're already paying through Shopify)
- Automatic currency handling
- Free trial support built-in
- Dunning and failed payment management
For a solo developer, not having to build or maintain a billing system is worth the revenue share.
Background Jobs: BullMQ + Redis
Webhooks, bulk syncs, and rate-limited API pulls all want to run off the request cycle. BullMQ is the standard Redis-backed queue for Node and pairs naturally with the Redis instance you already run for caching. It is MIT-licensed, sits at about 8,900 GitHub stars, and pulls roughly 5.6 million npm downloads a week at version 5.77.6 (checked on 2026-05-30). Run the worker as a second process or service so a slow job never blocks a merchant's page load.
Nice-to-Haves
- Shopify CLI dev tools - Live reloading, tunnel setup, and app preview
- GraphiQL - Built into the Shopify admin for testing GraphQL queries
- Sentry - Error tracking (webhook failures can be silent). The free Developer plan is $0/month and covers 5,000 errors a month for a single user; the Team plan is $26/month billed annually with a 50,000-error quota (checked on 2026-05-30)
- Metafield definitions - Store app data directly on Shopify resources
Monthly Cost Breakdown
| Service | Cost |
|---|---|
| Shopify Partner Account | $0 (free) |
| Railway (Starter) | $5/month |
| Railway PostgreSQL | Included |
| Railway Redis | Included |
| Domain | $1/month |
| Total | ~$6/month |
The Shopify Partner program is free to join, and listing your app is free. Shopify takes a revenue share only when you make money, not before.
Conclusion
The best stack for a solo developer building a Shopify app: Remix (Shopify's official template) with Polaris for UI, Prisma + PostgreSQL for data, hosted on Railway, with Shopify's Billing API for monetization.
Don't fight the ecosystem. Shopify has done the hard work of deciding the stack, building the templates, and providing the billing infrastructure. Your job as a solo developer is to find a real merchant pain point, build a focused solution, and ship it fast. Let Shopify's 2 million merchants be your marketing team through the App Store, and focus your energy on the product, not the plumbing.
Sources
All figures checked on 2026-05-30.
- Shopify App Store revenue share (0% to $1M lifetime, 15% above, $19 fee, 2.9% processing): shopify.dev/docs/apps/launch/distribution/revenue-share
- Railway pricing (Hobby $5/mo with $5 included usage, Pro $20/seat): railway.com/pricing and docs.railway.com/pricing/plans
- Fly.io pricing (usage-based, ~$2/mo shared-cpu-1x 256MB, $0.15/GB-month volumes): fly.io/docs/about/pricing
- Neon pricing (Free: 0.5 GB and 100 CU-hours/project; Launch: $0.106/CU-hour, $0.35/GB-month): neon.com/pricing
- Sentry pricing (Developer free, 5k errors/mo; Team $26/mo annual, 50k errors): sentry.io/pricing
- Remix version, stars, license: github.com/remix-run/remix and registry.npmjs.org/@remix-run/react
- Shopify CLI version, stars: github.com/Shopify/cli and registry.npmjs.org/@shopify/cli
- Polaris version, stars: github.com/Shopify/polaris-react and registry.npmjs.org/@shopify/polaris
- Shopify API library version, stars: github.com/Shopify/shopify-api-js and registry.npmjs.org/@shopify/shopify-api
- Prisma version, stars, license: github.com/prisma/prisma and registry.npmjs.org/prisma
- BullMQ version, stars, license: github.com/taskforcesh/bullmq and registry.npmjs.org/bullmq
- npm weekly download counts: api.npmjs.org/downloads/point/last-week
Like this? You'll like what I'm building too.
Two ways to support and get more of this work.
HEARTH
A privacy-first Life OS for your desktop. Journal, tasks, and notes that stay on your machine. Coming soon, direct download from this site.
Read moreMY TOOLKITS
Receipts-first toolkits for shipping after hours, building Claude agents, publishing on Amazon, and more. The exact methods I used, not theory.
Browse on WhopRelated Articles
AI Wrapper Stack Guide for Solo Developers
Complete guide to the AI wrapper stack - when to use it, setup, pros/cons, and alternatives.
Best Tech Stack for Building an AI Wrapper as a Solo Developer
The ideal tech stack for solo developers building an AI wrapper in 2026.
Best Tech Stack for an Analytics Dashboard as a Solo Developer
The best tech stack for building an analytics dashboard as a solo developer - frameworks, databases, hosting, and tools.