Show HN: Medusa – Open-source alternative to Shopify
medusa-commerce.com
medusa-commerce.com
I took a quick look through the documentation as well, and was pleasantly surprised by the maturity of the features that it has. This provides pretty much all of the basics I think one would need to manage a medium sized store. One area I do think could be improved perhaps is in the internationalization; it seems to me that every product has a single string to be the description, a single string to be the title, etc. with no easy way to localize the text across different regions.
I also am curious about the pricing; the landing page mentions that you can get started for free, and "start building for free", but is there some component that costs money down the road? I don't see any pricing page on the website so for now I'm assuming it's 100% open source.
And the feedback for internationalization is on point; it is in our roadmap to add a localization element to the core. Though, not in the very near future, since this is more a nice-to-have feature compared to a lot of other things in these early stages.
You are correct in regards to pricing. We are 100% open source, and are soon to release an easy `npx` command to get you up and running with everything in a matter of seconds.
Until then you can find our admin and other simple starters under our Github organization.
WooCommerce, Craft Commerce, Drupal Commerce, Magento, Vendura, etc all offer APIs to build a headless ecommerce platform.
Why is this better/worse?
I see that the page is hosted on notion.io so this might be a review of their process, not yours, but it will certainly affect you if you depend on it for acquiring talent. Clicking the links under the "Open Positions" heading simply opens a small text popup repeating the name of the position. In fact, these are not even links so non-mouse-users cannot target them.
Here's your screenshot, tested on Firefox 91 on Kubuntu with and without an ad blocker. https://i.imgur.com/jOEYsei.png
1. It doesn't seem to be multi-tenant (that is, hosting multiple shops/companies with one db). Are there plans to add multi-tenancy?
2. What are the major differences vs https://github.com/vendure-ecommerce/vendure ? (another nodejs solution, with included Admin panel and storefront)
3. How do you plan to monetize?
* The Vendure project is a bit older and I think a bit further ahead in terms of awareness and adoption.
* Medusa lists a team of 10 on their notion board, plus a bunch of investors. Vendure is just me (plus OSS contributors) and is bootstrapped.
* Medusa exposes a REST-style API, whereas Vendure uses GraphQL.
* Medusa seems to be mostly JS built directly on Express, whereas Vendure is TypeScript built on NestJS.
* We're both using TypeORM for the data layer.
* As mentioned, Medusa does not ship with an admin interface, whereas Vendure does.
* Medusa seems to have a whole bunch of supported integrations in the monorepo (Stripe, Adyen, Klarna, Sendgrid, Twilio), whereas Vendure does not currently have any official integrations like this.
* Vendure supports multi-channel, multi-language stores. Could not see much about Medusa's support for that, but maybe I missed it.
All in all, Medusa is very much the most similar project I've seen to Vendure. The Node ecosystem has long been neglected in terms of e-commerce dev tooling, so I'm glad to see more interest in this area. Full-stack JS/TS/Node can be very productive and really nice to work with, in my experience.
Congratulations to the Medusa team for the launch. Slightly envious that your post has gained so much traction compared to the ~3 upvotes from my launch a few months ago, but no hard feelings, haha.
edit: formatting
P.S.: don’t try to create fake accounts to upvote your posts. They don’t work well due to solid voting ring detection built into HN and will likely just devalue your posts/upvotes in the future.
> compared to the ~3 upvotes from my launch a few months ago, but no hard feelings, haha
Interesting. Maybe your title wasn't so "click-bait" as this one and you linked your github repo instead of your well made website https://www.vendure.io/?
Both are definitely great projects!
I have added Vendure & Medusa to my curated list of startup tools at StartupToolchain - https://startuptoolchain.com/#website .
Three short comments on the functional differences: - Admin interface: We have made our admin open source as well (happened this week) so this will be part of a Medusa setup when you launch our OS version - On multi-regional support: We have built this into Medusa's core to make it easy to shift between currencies, shipping options etc. across different markets - On Multi-tenant functionality: This feature will come soon; we will launch a concept called "Stores" in the near future to enable you to control multiple shops/branches from one place
s_severus, we should take an offline chat soon. Think we could learn a great deal from each other!
And yes, I'd be really interested to chat! You can email me at "contact at vendure.io"
I've been interested in the ecommerce + graphql space for a while, yours seems a really great project, will be following along and looking into migration paths!
I love the stack choices as well, seems much more lightweight and approachable to me than other alternatives like saleor (which I don't really dig these days anymore) or vendure which is an excellent project too but with a stack I am no too familiar with (NestJS, Angular)... So kudos for making this open source!
I found a repo for your admin panel which talks about a ‘Medusa Cloud’ account, but I can’t find any other details about this.
There a couple of models with integrations, you can build them as open source, but then you have to maintain them. Or you can have 3rd parties build and maintain them as Saas offerings. Either works, they both have significant positives and negatives. Either way it’s a significant opportunity for revenue generation.
If you’re interested in Xero / accounting integration reach out. I could work with you to build your own, or could connect you with folks that would build out such services around your product.
Minor: Copy under ‘SEO Friendly’ header is duplicated from another header.
‘Get Started’ doesn’t go anywhere.
Its like comparing "raw organic apples" to "Apple cider made with conventionally farmed apples"
The product looks great! The homepage doesn't explain pricing or what is a "large enough company" to require a paid license/subscription.
What I haven't found is a similar open-source project for distributors who work B2B. Their (our) customers also need to browse products, have invoice history, place product on hold, get notified when we have get stock, get delivery updates etc. There are enough minor differences that Shopify (or Medusa) can't be used for small/mid sized distributors, which makes me think there is a market for a product like that.
If I'm missing some software that fills this need, HN please enlighten me!
The landing page looks like it's trying to sell me a product, but the Github says it's MIT licensed...
The landing page is a bit more "marketed" in the communication style, but indeed it is a free to use our solution
Otherwise looks like an interesting project and I'll keep an eye on it!
One thing I was missing was a demo admin panel and demo store to get a bit of a feel for what is possible.
Just reach us on Discord and we can set up a session either in the weekend or next week :-)
I’ll definitely reach out as it seems like a great platform after diving some more into it
1. What separates you from Spree which recently started offering a headless platform as well?
2. Do you support Tax/Shipping calculations?
3. Where can I see a list of all supported integrations?
4. Do you offer deployment options?
Sorry but the title is click bait. Doesn’t even have a demo.
This sounds like more a MVP at best as others have said it lacks a lot of features.
Pricing is confusing, open source with a button ‘get started for free’?
Our open source solution is free to use = get started for free. We just put it in a language that even non-tech merchants can understand
Some thoughts below after spending about an hour going through the docs and repo (from the position of an e-com CTO).
Metadata - this is a killer Shopify feature for anyone that's done serious integration, and is the secret sauce to a lot of UI customization. I only see it for orders and not products. Really appreciate the versatility of this across multiple types.
Payment Providers - needs top-level docs visibility, seems to be hidden under "Regions" right now. Same provider/account often used for multiple countries.
Swap - rename this to Exchange, because this is how employees will talk about it internally. Customer service training will be all that harder if it has language like "Swap", and "Exchange" is already an understood industry term. It will help communicate expectations with readers better. To a head of operations, it's just part of a larger RMA process and will be number-crunched accordingly.
Swap Difference - love that you have this out of the box. Many e-commerce companies use 3rd party returns/exchange services because Shopify has shit internal support and this "difference" comes up right away because retailers want to support any transaction that lets them keep customer money even if the exchange is for a less expensive product.
Claims - aka RMA. Technically this is still a Return, but a return can also trigger a replacement/exchange/repair. I also see "Claim Fulfillment", which seems redundant with the replacement Orders Fulfillment. Curious how all the data interplays to record this business process.
Return Reasons - nested support is important. For example, "Wrong Size" leads to "Too Small/Too Large" but I don't necessarily want to show the later upfront. This also aligns with how the business will want to report on them internally, and break them down for analysis.
Gift Cards - it's REALLY important that I can understand how these are used for accounting and bookkeeping. I need to know if a gift card was purchased and tied to cash, and not just created out of thin air. Accountants will do accruals to manage gift card revenues vs. liabilities, while marketing will create free gift cards to hand out at events or give to vendors, and customer service will create gift cards for customer gratuity or exchanges. It WILL get messy.
Discounts - another important accounting gotcha, because the tool will be abused by staff to get their job done. Some discounts will be actual discounts, and treated on the books as such. Other discounts will be marketing-driven and an accountant will manually group them up in Excel and charge them to correct accounts. Having a field similar to "product type" will go a long way to letting the team manage discount reporting (Discount Category).
Very impressed with everything so far, I will definitely be trying it out more and looking forward to your roadmap.
How does it differ from WooCommerce? Perhaps that might my other question. What is headless ecommerce platform? Thanks.
> In a late version of the Medusa myth, by the Roman poet Ovid (Metamorphoses 4.794–803), Medusa was originally a beautiful maiden, but when Poseidon had sex with her in Minerva's (i.e. Athena's) temple,[7] Athena punished Medusa by transforming her beautiful hair into horrible snakes.
> Whether Ovid means that Medusa was a willing participant is unclear. Hard, p. 61, says she was "seduced"; Grimal, s.v. Gorgons, p. 174, says she was "ravished"; Tripp, s.v. Medusa, p. 363 says she "yielded". In the original Latin text, Ovid uses the verb "vitiasse" which is translated to mean "violate" or "corrupt".
I am still unsure how the name of the company relates though, and I would wager that most people only know the later part of the myth than the origins.
Why are there so many of these? What are people actually using?
I see a lot of e-commerce companies (albeit older and using solutions like Magento, Shopify, Oracle, etc.) and I rarely see any full blown e-comm companies using them, but rather they use them for simple checkout/cart functionality. Curious to get people's views here.
A full refresh of the storefront using the latest technologies or developer workflows can prove either impossible or incredibly challenging. That's why there are a lot of e.g. Magento projects stuck with huge JS bundles and unpleasant developer ergonomics. Ultimately there is the risk of needing to "replatform" - re-build the entire solution (front-end and server-side) on a different framework/platform, which is not a desirable situation to be put in.
That said, headless has its trade-offs. Building a storefront is not trivial. For many merchants it may not make sense. But for a certain class of use-cases it is a massive advantage.
It should also be noted that "headless e-commerce" has also graduated into buzzword territory, so you might get an inflated impression of the relative importance or use of it. Even Magento & Shopify are leaning into "headless" despite their clear interest in the monolithic model which is relied on by the majority of their marketplace offerings currently. Other platforms (e.g. Saleor, Sylius) which started off as non-headless have recently re-branded as headless.
Ultimately there is definitely hype in this area, but there is also genuine value too.
Source: I've been developing a headless e-comm framework for the past 3 years (vendure.io)
Specifically, businesses holding inventory and operating at between $1M to $100M in revenues. This is a sweet-spot market, and is usually when a company is most earnestly exploring what differentiates it. You're A/B testing every feature under the sun to find what improves your ability to sell. You've started to cluster your customer into segments, and tailor your marketing efforts accordingly. Operations are still crystalizing, and the company still hasn't found its "step".
Headless lets me, as a business operator, try out new things at a fraction of the cost as the "old days". In 2010, it was a multi-week or month-long project to get PayPal checkout integration. Now I can get it up and running in a few hours, alongside Stripe and some "Pay Later" solution in the same sprint.
The programmer in me loves the maturity of the new ecosystem, and that a lot of "best practices" have evolved to answer questions my development team has on how to get their job done. They're not searching for algorithms to best persist b-trees to disk while supporting random searches, but whether changing the category page to show on-model shots vs. side shots is more effective at generating click-thru.
There's a huge ecosystem of plug-ins, add-ons, and apps that let businesses explore new ideas with a LOT less risk. Headless is a great wrapper to cobble all those vendors and in-house solutions together, before deciding to double-down on specific decisions and implementations.
On the last point on the adoption vs. hype question. Indeed there has previously been some strong buzz-word tendencies around headless architecture probably way ahead of the relative use of such solutions. Nevertheless, I also believe that the demand of such solutions from the merchants' side has been steadily increasing recently due to:
* increased ecom competition; making it more important to differentiate through enhanced performance (page-speed + SEO); better UX; advanced analytics and tools to create differentiated customer journeys - all areas that are better catered for with a headless solutions
* more advanced merchant use cases; more B2B companies coming into the ecom market with complex needs or social commerce solutions not covered by existing solutions - these all need a specialised setup which is better build from a headless foundation
* more digital-first/digital-only merchants coming to market with a strong ecom focus and not willing to make setup compromises which you often will have starting with a monolithic structure
That being said, there is still a long way to making headless the preferred way of building commerce - but the tailwind seem to be there!
EDIT: Formatting
Those sellers have different options as far as building storefronts go.