Why open-source instead of SaaS — concrete decisions, not ideology
It's not about the philosophy of free software. It's about the fact that clients shouldn't be held hostage by someone else's roadmap and pricing.
A client sent me a screenshot of an invoice. Shopify Plus — $500 a month. Plus five plugins — around $200. And a transaction fee: 0.15% on every sale.
At the volume they were doing, it came to over $1,500 a month. Every year that's over $18,000 — for a tool that isn't theirs.
That's where the conversation about open-source started.
It's not about ideology
I have nothing against SaaS as a model. I use dozens of tools in that form myself — email, monitoring, deployment. It's not that I choose open-source because "free software is a human right".
I choose open-source for clients because a client shouldn't be held hostage by someone else's roadmap and pricing. That's it.
Three decisions I repeat regularly
Shopify → Medusa.js. Shopify is good. Really. Great UX, plugin marketplace, support. The problem shows up when the store grows — or when you want to do anything differently than Shopify anticipated. Checkout? Only if you pay for Plus and do it their way. ERP integration? A paid plugin or expensive custom work. And the transaction fee reminds you of itself with every sale. Medusa.js is open-source headless commerce — you install it on your own server, checkout works how you want, zero transaction fees.
WordPress/Webflow → Next.js + Payload CMS. Webflow is beautiful until you try to do something outside its template of possibilities. WordPress is ubiquitous because it's old and has a lot of plugins — not because it's the best choice in 2025. Payload CMS is open-source, TypeScript, your own database. Zero monthly fees per editor, zero dependency on platform hosting. The data is yours.
HubSpot/Pipedrive → custom CRM. SaaS CRM pricing models have one thing in common: they grow with the client's business. Not because the tool costs more at scale — but because that's how the pricing is designed. 500 contacts — this much. 5,000 contacts — four times more. That's not fair. A custom CRM — one implementation cost, no monthly fees based on record count.
When SaaS makes sense
To be fair: sometimes SaaS is the better choice.
If you have a small budget and need something now — Shopify Starter or WordPress on shared hosting is fine. If you don't have a developer and never will — a tool that maintains itself is a rational choice. MVP, proof of concept, a site for three months — I don't optimise for ownership there.
I optimise for ownership when the project is meant to live long and grow.
A business decision, not a technical one
The choice between Shopify and Medusa.js isn't a technical decision. It's a decision about who will own the platform in five years and how much they'll pay for it.
That's a conversation I have with every new client before I write the first line of code. Not because I want to convince them of my approach — but because clients should choose consciously, not accidentally fall into a model that's hard to leave.
Want to talk about what stack makes sense for your project? Write to me.