Full Disclosure: I Am Not Shopify's Target User
I'm a software developer. My instinct when someone says "I want to sell things online" is to reach for a Next.js project, wire up Stripe, set up a Postgres database, and build the thing from scratch. I've done this. Multiple times. And every single time, about three weeks in, I find myself writing inventory management logic and thinking "there has to be a better way." There is. It's called Shopify. And as much as my developer brain wants to resist a platform I can't fully control, I've spent the last month poking at it from every angle and I have to admit: for selling stuff online, Shopify has the rest of us beat.
This review comes from a particular angle. I'm not a small business owner trying to figure out which platform to choose. I'm a developer evaluating Shopify the way I'd evaluate any piece of technology -- looking at the architecture, the APIs, the templating system, the extension model, and the tradeoffs. Some of what I found impressed me. Some of it made me wince. All of it was educational.
The Architecture, From a Developer's Perspective
Shopify is a fully hosted, multi-tenant platform. You don't manage servers. You don't configure SSL. You don't worry about uptime (they claim 99.99%, and from monitoring a test store for a month, I believe it). The infrastructure side is genuinely impressive -- Shopify handles some of the highest-traffic events on the internet (think Kylie Cosmetics launches, massive flash sales) without blinking. During peak events they've reportedly handled over 80,000 requests per second at checkout. That's infrastructure that would cost a fortune to build and operate independently.
The storefront rendering runs on Liquid, Shopify's templating language. If you've ever used Jinja2 or Twig, Liquid will feel familiar -- it's a logic-less templating language with objects, tags, and filters. The Online Store 2.0 architecture introduced sections and blocks on every page, which is a significant improvement over the old theme model where only the homepage was modular. Now every page is built from composable sections that merchants can rearrange through the theme editor. As a developer, this means building themes requires understanding Liquid's section/block schema system, which has its own JSON config format. It works, but Liquid is not a language you'll enjoy debugging at 2 AM.
For developers who want more control, there's Hydrogen -- Shopify's React-based framework for building custom headless storefronts. Hydrogen gives you a Remix-based project structure, server-side rendering, and full access to the Storefront API via GraphQL. You build your frontend however you want, and Shopify handles everything behind it: products, inventory, checkout, payments, shipping. Hydrogen has matured a lot since its rocky launch and is now a legitimate option for brands that need a completely custom frontend. The deployment story is good too -- Oxygen (Shopify's hosting for Hydrogen) handles it natively, but you can also deploy to Vercel, Netlify, or anywhere else.
The Checkout: Where Shopify Wins the Technical Argument
I can build a storefront. I can wire up Stripe. What I cannot easily replicate is Shopify's checkout. The checkout is where Shopify's years of optimization really show. They claim a conversion rate advantage of up to 36% over competitors, and while I can't independently verify that number, the engineering behind it explains why it might be true.
Shop Pay is the big deal here. It stores customer shipping and payment info, enabling one-tap checkout for returning customers. Shop Pay has over 100 million registered users, which means a huge chunk of potential customers can check out without typing anything. That's a massive friction reduction that no custom Stripe integration can match. You'd need to build your own identity network with 100 million users to replicate this advantage. Obviously, you're not going to do that.
The checkout also handles taxes, shipping calculations, multi-currency, and local payment methods across 175 countries. Getting international e-commerce right is genuinely hard -- tax rules vary by jurisdiction, shipping rates are complex, and payment preferences differ by country. Shopify handles all of this out of the box. Building this yourself is technically possible but practically insane unless you have a dedicated team and several months to spare.
The App Ecosystem: Power and Peril
The Shopify App Store has over 8,000 apps and this is simultaneously its greatest strength and its biggest gotcha. Need email marketing? There's Klaviyo, Mailchimp, Omnisend, and twenty others. Need product reviews? Judge.me, Stamped, Loox. Need subscriptions? Recharge, Bold, Loop. The breadth is staggering.
The problem is cost accumulation. I set up a reasonably featured test store and quickly found myself at $150/month in app fees on top of Shopify's subscription. Email marketing: $30. Product reviews: $15. SEO tools: $30. Subscription management: $50. Upsells: $25. Each app individually seems reasonable, but they stack up fast. A merchant who doesn't watch this carefully can end up spending more on apps than on Shopify itself.
From a technical standpoint, the app ecosystem has a quality problem too. The "Built for Shopify" badge helps identify well-made apps, but plenty of apps with high ratings have bloated JavaScript that tanks your store's performance. I installed five popular apps on my test store and measured a 2.3-second increase in page load time. After removing three of them and keeping only the two with the lightest footprint, load times went back to acceptable. If you care about performance (and you should -- every 100ms of load time costs you conversions), you need to audit every app you install with Lighthouse.
Liquid: The Templating Language You'll Learn to Tolerate
Let's talk about Liquid, because it's where most developer complaints about Shopify begin and end. Liquid is a templating language created by Shopify in the early days. It's intentionally limited -- no arbitrary code execution, no database queries, no complex logic. This is by design: Shopify needs to render millions of storefronts on shared infrastructure without any single theme being able to crash the system or monopolize resources. Liquid is sandboxed, predictable, and safe.
It's also frustrating. If you're used to the expressiveness of JSX, Jinja2, or even PHP templates, Liquid feels like writing with handcuffs on. The control flow is basic. String manipulation is limited. There's no concept of components in the React sense -- you have snippets (partial includes) and sections (configurable page blocks), but composing complex UI requires a lot of copy-paste and convention. The debugging experience is poor -- errors are often swallowed silently, and there's no source map or stack trace to help you find the problem.
That said, Liquid gets the job done for what it's designed for: rendering product pages, collection grids, cart flows, and marketing pages. The schema system for sections is actually well-thought-out -- it lets you define configurable blocks that merchants can edit through the visual theme editor, which is a nice balance between developer control and merchant autonomy. And if Liquid really isn't enough, Hydrogen is there as an escape hatch for custom React frontends.
Shopify Magic and AI: Actually Useful, Surprisingly
I expected the AI features to be gimmicky. Marketing fluff. They're... actually not bad? The product description generator takes a few keywords and product attributes and produces copy that's about 80% ready to publish. It's not going to win any copywriting awards, but for a merchant listing 200 products who needs something better than "nice shirt, good fabric," it's a meaningful time saver. The email subject line generator is similarly practical -- it suggests variations based on your email content and past performance data.
The predictive analytics for inventory is the AI feature that impressed me most from a technical perspective. It analyzes your sales velocity, seasonal trends, and marketing calendar to forecast when you'll run out of stock and suggests reorder points. For a merchant managing hundreds of SKUs, this is the kind of insight that used to require a dedicated analytics hire or expensive forecasting software.
The Pricing Reality
Shopify has five plans, but really three that matter for most merchants:
The Starter plan at $5/month isn't really a store. It's a checkout link you can share on social media. If you're an Instagram creator selling merch and you just need a payment page, this works. If you want an actual storefront, keep reading.
The Basic plan at $39/month is where real stores start. Unlimited products, a full online store, and Shopify Payments at 2.9% + 30 cents per transaction. The credit card rate is competitive with Stripe's standard pricing, and you don't pay Shopify's additional transaction fee as long as you use their payment processor. If you use a third-party gateway, Shopify charges an extra 2% on top of whatever that gateway charges. That fee is the stick that pushes merchants toward Shopify Payments, and it works.
The mid-tier plan at $105/month reduces card rates to 2.6% + 30 cents and unlocks professional reports. The math here is simple: if you process over $10K/month in sales, the savings on card rates exceed the additional $66/month subscription cost. Beyond that threshold, you're literally saving money by upgrading.
The Advanced plan at $399/month is for established businesses that need lowest card rates (2.4% + 30 cents), calculated shipping rates, and detailed analytics. Shopify Plus starts at $2,000/month and gives you checkout customization, dedicated support, and enterprise tools.
The hidden cost, as I mentioned, is apps. Budget an extra $50-300/month depending on what functionality you need beyond Shopify's built-in features. This is the part that catches people off guard.
What's Genuinely Good
- Checkout performance and Shop Pay's 100M+ user network are nearly impossible to replicate
- Infrastructure is rock solid -- 99.99% uptime on shared hosting you don't have to manage
- Hydrogen gives developers a real React/Remix escape hatch for custom storefronts
- The Admin API and Storefront API are well-designed and well-documented GraphQL endpoints
- Scales from a weekend side hustle to a billion-dollar brand without re-platforming
- Omnichannel is real: web, mobile, POS, social selling, marketplaces, all from one admin
What Annoys Me
- Transaction fees for non-Shopify Payments users feel punitive (0.5-2% on top of gateway fees)
- App costs compound fast -- a well-featured store easily hits $150+/month in app fees alone
- Liquid is limited and debugging it is not fun
- Content management beyond products is basic -- this is not WordPress and it's not trying to be
- Vendor lock-in is real: migrating off Shopify means rewriting your entire storefront
- Theme apps can destroy page performance with injected JavaScript you can't easily audit
Shopify vs. Building It Yourself (Yes, I'm Biased)
I've built custom e-commerce on Next.js + Stripe. I've helped clients on WooCommerce. I've worked with BigCommerce's API. Here's my honest comparison:
Versus a custom build (Next.js + Stripe): You get total control. You can make the frontend exactly what you want. But you're building inventory management, order processing, shipping integrations, tax calculations, and a dozen other boring-but-critical features yourself. Unless you're selling something so unique that existing platforms can't handle it, this is rarely worth the engineering cost.
Versus WooCommerce: WooCommerce is free and open source, runs on WordPress (which you might already know), and gives you complete code ownership. But you're responsible for hosting, security, performance, and updates. WooCommerce on a $5 VPS will die under moderate traffic. WooCommerce on proper managed hosting costs $50-100/month. And then you're still managing a WordPress installation, which is its own adventure. For technically skilled people who want full control and are willing to do the ops work, WooCommerce is a legitimate choice. For everyone else, Shopify's managed experience wins by a wide margin.
Versus BigCommerce: BigCommerce includes more features out-of-the-box (no transaction fees, better built-in B2B tools, more native features). But the theme ecosystem is smaller, the app store is less mature, and the community is a fraction of Shopify's size. If your use case is B2B wholesale with complex pricing tiers, BigCommerce might actually be the better pick. For B2C direct-to-consumer, Shopify is the stronger platform.
Who Should Actually Care About Shopify
If you want to sell physical or digital products online and you don't want to manage infrastructure, Shopify is the right answer for you in 2025. It doesn't matter if you're selling handmade candles or running a DTC brand doing $50M/year. The platform scales, the checkout converts, and the ecosystem covers whatever gaps the core product leaves.
If you're a developer being asked to evaluate e-commerce platforms for a client, Shopify should be your default recommendation unless the client has specific needs that disqualify it (complex B2B, extreme customization requirements, ideological opposition to vendor lock-in). The APIs are good. Hydrogen exists for custom work. And your client won't be calling you at 3 AM because their hosting went down during a sale.
If you're a developer who wants to build e-commerce from scratch because it seems like it would be fun and educational -- I get it. I've been there. Just know that you're trading months of engineering time for control you probably don't need. Sometimes the boring, correct answer is just to use Shopify.
4.6 / 5
Shopify is not the tool I would have chosen to build. It's the tool I'd reluctantly recommend to almost anyone who asks me how to sell things online, and then they'd come back six months later saying it works great and I'd quietly mutter "yeah, I know" while closing my custom Next.js e-commerce project that I definitely should have just built on Shopify in the first place.
The checkout is best-in-class. The infrastructure is bulletproof. The ecosystem is massive. The downsides -- Liquid's limitations, app cost creep, vendor lock-in -- are real but manageable. For pure e-commerce, nothing beats it in 2025. It loses a few tenths of a point for the transaction fee penalty and the app cost problem, but those are business model complaints, not technical ones. The technology is sound.
Comments (3)