Congrats, this is one of the best landing pages I've seen this year. It looks really nice, and I love the idea of a headless ecommerce platform, especially one that comes with a nice backend GUI for managing inventory, etc.
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.
A word of caution: every project I have ever worked on that added i18n “later” has strongly regretted it. I18n is much easier to tackle early than as a refactor.
I mean right off the bat it means not having to maintain WordPress, Craft, Drupal, Magento. I've maintained all of those at some point over the years and I'll probably have nightmares tonight now that you reminded me of them. Don't know Vendura.
Isn't it just a matter of time until this one also becomes hard to maintain? These other platforms are complicated for a reason and that is that ecommerce isn't easy. Localizations (Medusa doesn't seem to have a proper system for that yet according to the top comment), deep support for taxes in various countries, changing tax rates, b2b and b2c price rates etc.
I'm sure it could become hard to maintain, but it is built as an ecommerce platform. Plugins like Woocommerce are just one of innumerable amounts of plugins that WordPress has to attempt to not break.
While we're at it, the "Open Positions" page needs some work.
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.
I'm the maintainer of Vendure, so I might be able to offer a bit of insight on your second question, after having studied the Medusa repo a little. Medusa devs, please correct me if any of this is wrong!
* 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.
Regarding your last comment, not sure if you’ve seen the info on this yet but you were incredibly close to having loads of upvotes. I think the current threshold for getting to HN’s front page is between 4 and 5 rapid upvotes. Once you clear it you suddenly get a very large set of eyeballs on your post and lots of new herd effect upvotes. It’s a little silly and sometimes frustrating but depending on how you posted it you could try again with a Show HN thread. Those have a separate section and have an even lower threshold to get onto the front page. I launched a few (mostly unsuccessfully) side projects on HN with this info. Hope it is helpful to you.
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.
> 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
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/?
I really like your landing page! In love with the little triangles everywhere, haha.
I'm not the target group for a headless e-commerce solution, but I think your landing page makes it more clear to visitors what your software is about. In contrast to the main article, which left me wondering what Medusa exactly is.
Self hosted eCommerce tools which can help small businesses do their commerce without being held hostage by the monopolistic platforms are always in need. Congratulations for building one.
Big fan of vendure, looking forward to seeing more from Medusa. Don't trip too much, you've had outsized impact considering you're working alone and bootstrapped, taht's worth celebrating
s_severus think you covered this one well. Also think what you have build with Vendure is a really strong solution and we have deep respect for what you have been able to set up almost on your own!
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!
Thanks for the kind words, and good to hear you have open-sourced the admin panel app - I feel that is really key for allowing devs to quickly get a feel for using the system.
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!
Great landing page. Love the focus on integrations, tho I immediately wanted to know more. None of those logos are clickable, and I was impatiently waiting for the logos to scroll to see if there was an accounting integration. I also don’t recognise all the logos. I’d suggest this deserves its own page, and from experience, this will draw in users / customers via search / seo.
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.
Looks nice but to be a Shopify alternative, headless is not the way. Does it come with batteries included so I can plug and play after a quick installation ? Headless makes me think that I have write my own interfaces which then is not really a shopify alternative. As a developer though, I like it.
The service part is just how it is distributed. I would say it is ok to claim as Open Source Shopify alternative if you can install and get it running in a few minutes and could be used by a non technical ecommerce business owner.
A big differentiator you can have over Shpofiy is support for RTL websites. Many businesses in Israel pass on Shopify because of its lack of RTL support
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!
Heads up that the landing page appears broken in Safari v14.0.3 -- the header logo and top-nav links are floating over the main hero image like halfway down it, and when I scroll I can see that the hero collapses, but the header remains, as does the big blue area behind it, taking up 50+% of the viewport.
Otherwise looks like an interesting project and I'll keep an eye on it!
Sorry about this problem - we are aware and are working to get it fixed soon! Until it is fixed, the best solution will be to use a different browser :-)
That sounds really interesting! We are working on getting to a demo to showcase it a bit better on out dotcom as well, but we would be happy to give you a personal walk-through of the solution if you could be interested
Just reach us on Discord and we can set up a session either in the weekend or next week :-)
Medusa is indeed an alternative to Shopify, it just comes with a widely different value proposition. No doubt that Shopify has a broader ecosystem and feature set at the moment - but with Medusa you get the opportunity to shape the platform much better to your needs
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
Thank you so much!
Would love to help you with onboarding and intro session, feel free to join our Discord, so we can see how we can help you https://discord.gg/DSHySyMu :)
Really love that you have starter kits for both Gatsby and Nextjs. I was just looking at Nacelle the other day.
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.
This is a difficult variable to control for - especially as it is an open source solution. My hunch would be that many scam sites will use some straight out-of-the-box setups instead of more sophisticated tools like Medusa. But we would definitely address it should this become a problem in the future
Personally, I'd prefer the submission title kept the webpage title's "Open-source headless commerce engine". Much more descriptive of what it actually does. Some Shopify customers use it headless but I'd be surprised if even the majority do.
fblp Thank you very much for the kind words! Similar responses are really the best kind of support. Feel free to follow us on twitter @medusajs and drop a star on the Github repo. We'd also love to have you on our discord server!
By customers I guess you mean shoppers, yeah they never care nor they should. Merchants on the other hand will loose money if the solution don't scale affordably.
Right I guess that kind of in a warped way makes sense, but medusa was also a monstrous mess of a creature that would turn people to stone. I mean I get the headless reference but wouldn't it make sense to be called Perseus (the hero who killed Medusa)? Named after beheading a monstrous creature, instead of being named after the creature?
Pedantic stuff incoming: Medusa was actually a young maiden who was raped and shamed into isolation which is what drove her mad. She wasn’t a monster, she became one in reaction to what was done to her. From Wikipedia:
> 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".
Well thank you for the clarification - I never knew of Medusa's origin just the later part of the myth.
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.
There is a compelling argument for headless e-commerce, which is the _freedom to build and rebuild your storefront using the technologies that you want_. With non-headless (traditional) platforms, you are limited to using the templating features or themes provided by the vendor. Another benefit is the ability to power multiple clients (web, mobile, in-store) from a single API & back-end.
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)
> But for a certain class of use-cases it is a massive advantage.
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!
It’s important to note the centralisation going on in e-commerce. “Side hustle” sellers are mostly not able to afford stock at the moment (too many have lost their main jobs), letting those with the capital to keep trading dominate.
Those sellers have different options as far as building storefronts go.
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.