When to choose a platform and when to go custom
Shopify works well when you have a standard product catalogue, want to launch quickly and accept the monthly costs. That is not a bad starting point. But as you grow, the platform starts to feel restrictive. Transaction fees per sale, a theming system that keeps you away from the actual code, and a checkout that you can only customise to a limited extent.
WooCommerce gives more freedom on paper, but that freedom has a different price: a WordPress environment that bloats as you stack more plugins, slow performance under traffic spikes and a security surface that grows with every extension you install.
A custom Next.js shop is the better choice when you already have some revenue, want full control over your checkout flow, need specific integrations with your logistics or accounting, or know you will be operating at a different level within two years. You pay once for the build and then manage your own infrastructure.
What I build: Next.js, Stripe and an admin you can actually use
A standard delivery consists of the following components:
- ▸Next.js App Router frontend with server components for maximum performance and static pages for product overviews
- ▸Stripe Checkout or Mollie Payment Element for payments, including iDEAL, credit card and SEPA direct debit
- ▸Custom admin panel for product management, order status and stock indicators, built on a lightweight Next.js route or a headless CMS like an own CMS
- ▸Headless data layer: products and categories in a database of your choice (PostgreSQL via Supabase or PlanetScale, or a flat-file approach with MDX for small catalogues)
- ▸Webhooks for Stripe events: payment confirmation, refund, subscription renewal
- ▸Transactional emails via Resend or Postmark for order confirmations and shipping notifications
- ▸Hetzner VPS or Vercel hosting depending on scale requirements
Every choice in this stack is reversible. You own the code and the data. If you ever want to switch to a different provider, I update the integration without rebuilding the entire shop.
Stack choices: Stripe vs Mollie, CMS vs custom admin, Hetzner vs Vercel
For payment integrations I use Stripe by default. The documentation is excellent, the dashboard tools are complete and the Stripe library for Next.js works without friction. If you specifically want iDEAL as the only payment method and prefer a Dutch provider, Mollie is a solid alternative. Both integrations are comparable in scope.
For content management I assess which approach fits best per project:
- ▸Small catalogue (up to 200 products): MDX files in the repository, managed via a simple admin route or directly in Git
- ▸Medium catalogue (200 to 2000 products): an own CMS as a headless CMS, self-hosted, no monthly SaaS costs
- ▸Large or dynamic catalogue: PostgreSQL with a custom admin interface or an own CMS as a CMS for editorial teams
- ▸Hosting via Hetzner VPS for high peak load or specific GDPR requirements, via Vercel for serverless preference and global CDN distribution
What is not part of my standard build
To keep expectations clear, these are the components that fall outside standard scope:
- ▸Multi-vendor marketplace: multiple sellers on the same shop with separate payouts. This requires a significant extension of the data layer and the Stripe Connect integration.
- ▸Complex B2B portals with contract prices per customer, quote flows or approval workflows. That is custom work on top of custom work.
- ▸ERP integrations with systems like SAP, Exact or AFAS. I can build API connections, but the scope depends entirely on the availability and documentation of the ERP API.
- ▸Dropshipping integrations with wholesalers that use their own feed formats.
- ▸Fully automated price optimisation or repricing based on competitor monitoring.
If your requirements fall outside this list, I discuss scope during the intake. Some extensions are feasible as a separate module on top of the base shop.
-- Client case
T&H Car Care: from Shopify template to custom Next.js shop without platform fees
T&H Car Care sells car detailing products to both private buyers and professional detailers. They ran on Shopify with a standard theme and paid a combination of monthly subscription costs and transaction fees per sale. As the range grew and they wanted to differentiate specific customer groups in the checkout, the Shopify theme system kept getting in the way.
I built a Next.js shop with App Router, Mollie Payment Element for checkout and a custom admin for product management and order status. Products live in a PostgreSQL database on Hetzner. The checkout distinguishes between private and business customers and adjusts VAT processing automatically based on the entered VAT number.
The shop runs on a Hetzner VPS for 5.90 euro per month. There are no platform fees per transaction, only the Stripe processing costs that apply with any provider. The codebase is fully owned by T&H Car Care.
How this differs from a Shopify Plus build
Shopify Plus gives you more flexibility than the standard plan: a customisable checkout via Checkout Extensibility, access to scripts and more API calls per second. For large retailers with high volumes that is a logical choice. But you pay a fixed monthly fee of a few hundred euros or more, on top of Stripe processing costs, and you are still bound to the Shopify infrastructure.
A custom Next.js shop has no monthly platform subscription. Hosting costs a fraction of what Shopify Plus charges. You manage your own database, your own checkout logic and your own release cycle. When I build a new feature, it goes through a deployment on your server, not through an App Store review.
The downside is that you do not have a Shopify App Store. If you need a specific app tomorrow that already exists for Shopify, I have to build that integration or find an alternative API solution. That takes time. Shopify Plus gives you more out-of-the-box options. A custom shop gives you more control over what happens under the hood.
Who is this the right choice for
A custom Next.js shop fits best for:
- ▸SMEs that want to launch their own shop without monthly platform fees and without vendor lock-in
- ▸Existing Shopify or WooCommerce shops that are hitting platform limits: slow checkout, limited customisation, high costs at growing volume
- ▸Businesses with specific checkout requirements: B2B/B2C distinction, VAT handling based on customer segment, multi-locale shop with local currencies
- ▸Teams with an in-house developer or a fixed technical partner who can maintain the codebase after delivery
- ▸Scale-ups that want to migrate from legacy Magento or WooCommerce to a headless Next.js architecture
If you are just starting out, have a small range and do not need specific integrations, Shopify or a simple Snipcart-on-static-site pattern is probably faster and cheaper for the first phase. I would rather say that honestly than convince you of custom work when a platform is a better fit.
Investment and scope
The price of a custom shop depends on the number of product categories, the desired integrations and the complexity of the checkout. I work on a fixed project price after an intake conversation.
All prices on request. After the intake you receive a fixed quote based on the agreed scope.