/ tech-stacks / Best Tech Stack for a Shopify App as a Solo Developer
tech-stacks 10 min read

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.

Hero image for Best Tech Stack for a Shopify App as a Solo Developer

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.

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.

Built by Kevin

Like this? You'll like what I'm building too.

Two ways to support and get more of this work.

Desktop App

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 more
Digital Products

MY 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 Whop

Need This Built?

Kevin builds products solo, from first version to live. If you want something like this made, work with him.