Ecommerce Development Company: Custom vs Platform & What It Costs
Ecommerce development company guide 2026 — Shopify vs custom vs headless, tech stack selection, performance optimization, B2B ecommerce, and real development co
Ecommerce Development Company: Custom vs Platform & What It Costs
By Viprasol Tech Team
Ecommerce development decisions in 2026 cluster around a specific question: how much of what you need is standard ecommerce functionality (product catalog, cart, checkout, order management), and how much requires customization that platforms can't support?
For standard B2C retail, Shopify or BigCommerce handles 90% of what you need. The remaining 10% is typically achieved through apps or liquid theme customization. Custom development for standard retail functionality is almost never worth the cost.
For complex B2B ecommerce, custom pricing, subscription products, complex product configurations, or tightly integrated ERP/inventory requirements — the platforms start to buckle. This is where the custom vs. platform decision gets real.
The Decision Framework: Platform vs. Custom vs. Headless
| Scenario | Best Approach |
|---|---|
| Standard B2C retail, <$5M GMV | Shopify or BigCommerce |
| Standard B2C, >$5M GMV, scaling | Shopify Plus or custom |
| B2B ecommerce with complex pricing | Headless or custom |
| Subscription products (SaaS-like) | Custom or Shopify + Recharge |
| Complex product configurator | Custom (CPQ) |
| Marketplace (multiple sellers) | Custom or Sharetribe |
| ERP-integrated inventory | Headless with direct ERP integration |
| Full white-label platform | Custom |
Headless commerce — separating the frontend presentation layer from the commerce backend. The backend (Shopify, Commerce Layer, Medusa) handles cart, checkout, orders, and inventory via API. The frontend is a custom React/Next.js application. Best of both worlds: platform reliability for commerce functions, full frontend control for UX and performance.
Shopify Development: What It Actually Covers
When an ecommerce development company says "Shopify development," they might mean any of these:
Theme development — customizing or building a Liquid theme. Liquid is Shopify's templating language. A well-built theme handles responsive design, custom section blocks, and product page layouts. Cost: $5K–$30K.
App development — building a Shopify app (either private app for one store or public app for the app marketplace). Apps extend Shopify's functionality: custom pricing rules, loyalty programs, custom checkout flows. Built with Node.js + Shopify API. Cost: $10K–$80K.
Shopify Plus custom checkout — Shopify Plus allows checkout customization via checkout extensions. For B2B pricing, custom shipping logic, or complex discount rules. Cost: $15K–$60K.
Migration to Shopify — moving product catalog, customer data, order history, and content from another platform. Cost: $8K–$30K depending on data volume and complexity.
🌐 Looking for a Dev Team That Actually Delivers?
Most agencies sell you a project manager and assign juniors. Viprasol is different — senior engineers only, direct Slack access, and a 5.0★ Upwork record across 100+ projects.
- React, Next.js, Node.js, TypeScript — production-grade stack
- Fixed-price contracts — no surprise invoices
- Full source code ownership from day one
- 90-day post-launch support included
Headless Commerce Architecture
Next.js Frontend (React)
↓ Storefront API (GraphQL)
Shopify/Medusa/Commerce Layer (commerce engine)
↓ REST/GraphQL
Order Management, Inventory, ERP
Plus:
- Algolia or Elasticsearch for search
- Sanity or Contentful for content management
- Stripe or Shopify Payments for checkout
Storefront with Next.js + Shopify Storefront API:
import { createStorefrontClient } from '@shopify/hydrogen-react';
const client = createStorefrontClient({
storeDomain: process.env.SHOPIFY_STORE_DOMAIN!,
publicStorefrontToken: process.env.SHOPIFY_STOREFRONT_TOKEN!,
});
// Fetch products with ISR (Incremental Static Regeneration)
export async function getStaticProps() {
const { data } = await client.query({
query: `
query FeaturedProducts {
products(first: 12, sortKey: BEST_SELLING) {
edges {
node {
id
title
handle
priceRange {
minVariantPrice { amount currencyCode }
}
images(first: 1) {
edges { node { url altText width height } }
}
}
}
}
}
`,
});
return {
props: { products: data.products.edges.map(e => e.node) },
revalidate: 60, // re-generate page every 60 seconds (ISR)
};
}
Cart implementation with optimistic UI:
'use client';
import { useCart } from '@shopify/hydrogen-react';
import { useOptimistic } from 'react';
function AddToCartButton({ variantId, quantity = 1 }: { variantId: string; quantity?: number }) {
const { linesAdd, status } = useCart();
const isAdding = status === 'updating';
return (
<button
onClick={() => linesAdd([{ merchandiseId: variantId, quantity }])}
disabled={isAdding}
className="btn-primary"
>
{isAdding ? 'Adding...' : 'Add to Cart'}
</button>
);
}
B2B Ecommerce: The Complex Case
B2B ecommerce requirements that platforms handle poorly:
Customer-specific pricing — different price tiers for different accounts. Net terms (NET30, NET60). Volume discounts that apply across an order history, not just a single order.
Approval workflows — an employee adds items to cart; a purchasing manager must approve before the order is placed. Multiple approval levels based on order value.
Quote-to-order conversion — sales team creates a custom quote; customer reviews and converts to order with a click. Negotiated line items, custom SKUs, contract pricing.
Multi-location ordering — enterprise customer has 20 locations; each location can order independently against a master contract with central billing.
Custom B2B ecommerce implementation for the pricing engine:
// B2B pricing: customer-specific tiers + volume breaks
interface PricingTier {
customerId?: string; // null = applies to all
customerGroup?: string; // e.g., "enterprise", "distributor"
productId: string;
minQuantity: number;
unitPrice: number;
currency: string;
validUntil: Date | null;
}
async function getProductPrice(
productId: string,
quantity: number,
customer: { id: string; group: string },
): Promise<{ unitPrice: number; totalPrice: number; tierApplied: string }> {
// Look for customer-specific pricing first, then group, then default
const tier = await db.pricingTier.findFirst({
where: {
productId,
minQuantity: { lte: quantity },
OR: [
{ customerId: customer.id },
{ customerGroup: customer.group, customerId: null },
{ customerId: null, customerGroup: null },
],
AND: [
{ OR: [{ validUntil: null }, { validUntil: { gt: new Date() } }] }
],
},
orderBy: [
{ customerId: 'desc' }, // customer-specific wins
{ customerGroup: 'desc' }, // then group
{ minQuantity: 'desc' }, // highest quantity threshold wins
],
});
const unitPrice = tier?.unitPrice ?? (await getDefaultPrice(productId));
return {
unitPrice,
totalPrice: unitPrice * quantity,
tierApplied: tier ? `${tier.customerGroup ?? 'custom'}` : 'default',
};
}
🚀 Senior Engineers. No Junior Handoffs. Ever.
You get the senior developer, not a project manager who relays your requirements to someone you never meet. Every Viprasol project has a senior lead from kickoff to launch.
- MVPs in 4–8 weeks, full platforms in 3–5 months
- Lighthouse 90+ performance scores standard
- Works across US, UK, AU timezones
- Free 30-min architecture review, no commitment
Performance: The Ecommerce Revenue Metric
A 100ms improvement in page load time correlates with a 1% improvement in conversion rate (Deloitte research). Ecommerce performance is a revenue metric.
Core Web Vitals targets for ecommerce:
- LCP (Largest Contentful Paint): < 2.5s — product images are typically LCP elements
- CLS (Cumulative Layout Shift): < 0.1 — price/button loading causes layout shifts
- INP (Interaction to Next Paint): < 200ms — add-to-cart responsiveness
Product image optimization:
import Image from 'next/image';
// Responsive product image with WebP + AVIF support
function ProductImage({ src, alt, priority = false }: {
src: string; alt: string; priority?: boolean
}) {
return (
<div className="aspect-square relative">
<Image
src={src}
alt={alt}
fill
sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw"
className="object-cover"
priority={priority} // above-fold product images
quality={85} // WebP quality tradeoff
/>
</div>
);
}
Ecommerce Development Cost Ranges
| Project Type | Scope | Cost Range | Timeline |
|---|---|---|---|
| Shopify theme custom build | Custom theme + 3–5 sections | $8K–$25K | 4–8 weeks |
| Shopify Plus store + apps | Custom theme + custom app | $25K–$80K | 2–4 months |
| Headless Shopify (Next.js) | Full headless frontend | $60K–$180K | 3–7 months |
| Custom ecommerce platform | Full platform, no Shopify | $150K–$500K | 6–14 months |
| B2B ecommerce portal | Custom pricing + approval workflows | $100K–$350K | 5–12 months |
| Marketplace | Multi-vendor platform | $200K–$700K | 8–18 months |
Working With Viprasol
Our ecommerce development services cover headless commerce builds on Next.js + Shopify Storefront API, custom B2B ecommerce platforms, and custom Shopify app development. We've built complex pricing engines, quote-to-order workflows, and ERP-integrated order management systems.
Building an ecommerce platform? Viprasol Tech develops headless and custom ecommerce solutions for B2B and B2C. Contact us.
See also: Custom Web Application Development · React Development Company · Payment Gateway Integration
Sources: Shopify Storefront API Documentation · Medusa.js Commerce Platform · Deloitte — Milliseconds Make Millions
About the Author
Viprasol Tech Team
Custom Software Development Specialists
The Viprasol Tech team specialises in algorithmic trading software, AI agent systems, and SaaS development. With 100+ projects delivered across MT4/MT5 EAs, fintech platforms, and production AI systems, the team brings deep technical experience to every engagement. Based in India, serving clients globally.
Need a Modern Web Application?
From landing pages to complex SaaS platforms — we build it all with Next.js and React.
Free consultation • No commitment • Response within 24 hours
Need a custom web application built?
We build React and Next.js web applications with Lighthouse ≥90 scores, mobile-first design, and full source code ownership. Senior engineers only — from architecture through deployment.