Bespoke SaaS: Why Maho Beats Shopify and Magento 2 in 2026

Bespoke versus boxed: the choice every serious operator now faces.
The economics of ecommerce just inverted, and most operators have not noticed yet.
For the last decade the platform debate ran on a simple economic premise. Custom development was expensive, on the order of $150 to $250 an hour with slow iteration and every feature a project. The rational play was to accept a SaaS platform's constraints in exchange for zero engineering overhead. That trade made Shopify the default answer for stores under fifty million in revenue, and Adobe Commerce the default above that, because either way you were paying someone else to absorb the engineering.
That premise no longer holds.
With current AI tooling, custom development costs have collapsed to roughly ten percent of where they were five years ago. Tasks that used to take a senior PHP developer two weeks now take one to three hours of focused work with Claude or Cursor. The build-versus-buy math has shifted more than at any point since the platform wars began.
This post argues something specific. The platform that lets you actually use that economic shift is Maho, the modernised continuation of Magento 1. Shopify locks you out of it because you cannot rebuild their admin even if you want to. Magento 2 is too expensive and complex to take advantage of, because you spend the dev time fighting the platform. Maho gives you the leverage of modern AI development on top of an extension ecosystem that has been maturing for fifteen years.
We call this Bespoke SaaS. The reliability and operational profile of a hosted SaaS platform, with the open-platform extensibility you used to need a six-figure custom build to get.
We are biased. We make Maho extensions. We make this argument anyway because every single one of our clients who came from Shopify or Magento 2 hit the same set of walls, and we want to tell that story honestly before they do.
The Shopify trap
Shopify is a brilliant onboarding platform. The product surface is relentlessly polished, the admin is fast, the merchant tools are competent, the app store is enormous. Within the box that Shopify defines, very little goes wrong.
The trap is the box itself. Once your business needs anything that does not fit Shopify's model of how an ecommerce store should work, you discover there is no door, and the workarounds get progressively uglier.
A short, partial list of constraints operators hit:
-
The admin is not modifiable. You can build apps that overlay screens via embedded iframes, but you cannot fundamentally rethink the order workflow, the product editor, or the customer view. Whatever Shopify decided their target merchant needs is what you get. Hope it matches your business.
-
Bulk and conditional shipping rates. Setting up complex multi-zone, multi-product-class shipping rules ranges from painful to impossible without third-party apps that charge monthly fees scaling with your order volume. Australia Post integrations, dimension-based rates, freight-quote workflows: friction layered on friction.
-
Above-the-line checkout customisation. Want a compulsory acceptance checkbox on checkout for terms-of-sale? A conditional shipping disclaimer? An opt-in for marketing where you control the wording? Welcome to Shopify Plus pricing, custom checkout extensions, and a learning curve that costs you a developer anyway.
-
Payment methods. If Shopify's preferred payment partners cover your needs, fine. If you need anything outside that set, you fight the platform.
-
Subscription, B2B, multi-warehouse, custom catalog logic. All possible, all painful, all dependent on third-party apps you cannot fully customise, all with monthly fees that compound.
The deeper issue is the trajectory. Shopify is at the stage of the SaaS lifecycle where the easy growth is behind it and the next earnings calls have to come from somewhere. Watch what happens to merchant fees, app store revenue splits, and pricing tier moves over the next two years. Shopify is heading where every VC-backed SaaS goes once growth tapers: a gradual squeeze on the merchants who built their business on the platform, with no realistic exit because everything is inside Shopify's data model. Cory Doctorow has a name for this trajectory.
The cost of being wrong about Shopify is not "you switch platforms in two years." The cost is that the lock-in compounds with your data, your URLs, your customer relationships, and the apps your merchant team has trained on. By the time the squeeze becomes intolerable, leaving is a six-month migration project.
Magento 2 is Adobe's cash cow now
Magento 1, for all its warts, was a workhorse. From its launch in 2008 it served ten years of serious commerce, scaling from boutique brands to nine-figure retailers without a major architecture rethink. The community shipped tens of thousands of extensions. Whole agencies and careers were built on it. It was not pretty, but it ran.
Magento 2 was a rewrite that traded that workhorse status for complexity. It tripled the codebase, added a Knockout-and-RequireJS frontend that nobody was excited about even at launch, made deployment dramatically harder, and demanded vastly more server resources. Adobe acquired the project in 2018 and turned it into Adobe Commerce, which is now positioned and priced as enterprise software.
If you are an enterprise with an existing Adobe Experience Cloud contract, six-figure annual budgets, and an integration partner doing the heavy lifting, Magento 2 still makes sense. For everyone else the cost-to-benefit ratio is brutal. You are paying for complexity that does not earn its keep. Onboarding a new developer is a multi-week process. Performance work is constant. Upgrades are projects. The frontend choices age badly.
Adobe is not going to invest in making it cheaper or simpler to operate. That is not their target customer.
Why Maho exists
Maho started as a community fork of OpenMage, which itself was a community continuation of Magento 1 after Adobe stopped maintaining it. Where OpenMage focused on keeping Magento 1 alive, Maho focuses on bringing it forward.
What that means concretely:
-
Modern PHP. Maho requires PHP 8.3 or newer. Strict types, readonly properties, attributes, the whole modern language is available in the codebase. Zend Framework 1, the original Magento dependency that nobody loved, has been removed.
-
Composer-first. Modules install via
composer require. No copying zip files, no manual patches, noapp/code/communityarchaeology. The whole modern PHP toolchain works as expected. -
Symfony components. Where Magento 1 had its own ad-hoc implementations, Maho uses Symfony Console, Validator, Filesystem, and others. Less code to maintain, better documented, faster to onboard developers.
-
API Platform. A modern REST and GraphQL layer for everything, designed for headless and storefront use cases.
-
Cross-database. Schema and queries are portable across MySQL, PostgreSQL, and SQLite. The same code runs against Neon's managed Postgres, your local SQLite, or a traditional MySQL host.
The compatibility trick is the important one. Maho is roughly 95 percent compatible with Magento 1 and OpenMage modules. That sounds like a footnote until you realise what it unlocks.
Fifteen years of extensions, ported in hours
Magento 1 had one of the largest commerce extension ecosystems ever assembled. Multi-vendor marketplaces, B2B catalogs, advanced shipping calculators, ERP integrations, loyalty programs, gift card stacks, you name it: someone on Marketplaces or GitHub built it between 2010 and 2018, and the code is still out there.
This is where the AI economics get interesting. Modern coding assistants have been trained on enormous quantities of public Magento 1 code, including most of those extensions. Asking Claude to port a known M1 extension to Maho is not a research project, it is a one to three hour task. You feed it the source, you describe the target, you review the diff. The compatibility floor is high enough that most modules need a handful of namespace and signature updates rather than a rewrite.
Compare that to building the equivalent feature on Shopify (you cannot, you can only approximate it via apps) or Magento 2 (the equivalent extension exists, costs five times what M1's did, and is locked behind Adobe's marketplace). Maho is the rare situation where the network effects of a fifteen-year-old ecosystem still compound in your favour.
Modern operations stack
People assume that because Maho's lineage is "old," the ops story must be old too. It is not. The stack we run our own commerce on, and recommend to clients, is uncompromisingly modern:
-
Fly.io for application hosting. Multi-region, fast deploys, sane volume mounts, Sydney edge for Australian latency.
-
Cloudflare Workers for the storefront layer. Edge-rendered, sub-100ms cold starts, integrated KV and R2 for content and assets.
-
Neon for managed Postgres with branch-based dev databases and automatic scaling.
-
Litestream for SQLite-backed deployments where you want simpler ops.
-
FrankenPHP as the application server, running PHP as a daemon with HTTP/3 support out of the box.
This is a stack that did not exist in 2018. The ops story for Maho is dramatically lighter than it was for Magento 1 in its day, and competitive with anything Shopify or Magento 2 can offer on the operational side.
Bespoke SaaS, in plainer terms
The pitch to a serious operator is this. You get the operational reliability of a hosted SaaS. You get the predictable scaling and managed databases of modern cloud infrastructure. You keep the open-platform extensibility that makes the difference between "store that works" and "store that wins." You get Bespoke SaaS: the hosted-platform reliability profile, with custom-platform leverage. The ecosystem and AI-tooling economics make this combination viable in 2026 in a way it was not for most operators in 2020.
When each platform is still right
We will not pretend Maho is for everyone. Honest read:
-
Shopify is right when you are very small (under twenty SKUs, under a hundred orders a month), you have no in-house technical resource at all, your business model maps perfectly to standard ecommerce, you do not foresee custom workflows, and you are comfortable with the lock-in trajectory. Most stores starting fresh with these constraints will be fine.
-
Magento 2 / Adobe Commerce is right when you already have an Adobe Experience Cloud contract, your engineering team is large enough that the per-developer onboarding cost is amortised, and your B2B or enterprise integration requirements specifically need the Adobe stack. If you fit, you know.
-
Maho is right when you have or can hire one PHP developer, you want to own your code, you have customisation needs that do not fit Shopify's model, and you are not willing to pay Adobe's enterprise tax. That describes the majority of operators between $1M and $50M in annual revenue.
What we sell
Mageaustralia is a marketplace of commercial Maho extensions. We build modules that solve the problems Shopify forces you to live with and that Magento 2 charges enterprise prices to fix. Composer-installable, year-one updates included, pay-once with optional year-two-plus maintenance. We also ship a number of modules as fully open source on GitHub. The marketplace here is for our commercial modules; the OSS work is our contribution to the wider Maho community.
Pricing is roughly 50 to 65 percent of the Magento 2 median for each category. We can charge less because AI development has compressed our build costs, and we pass that through to operators rather than capturing it as margin.
Browse the Mageaustralia marketplace
Want to talk through whether Maho fits your operation? Get in touch. We are honest when Shopify or Magento 2 is the right answer, it is just not as often as the conventional wisdom suggests.