DEV Community

Cover image for The Story Behind Our Open Source Ecommerce Platform with +9,000 GH stars in 6 months
Shahed Nasser for Medusa

Posted on • Updated on • Originally published at

The Story Behind Our Open Source Ecommerce Platform with +9,000 GH stars in 6 months

Medusa has risen quickly in popularity over the past months getting +9,000 starts on GitHub in only 6 months.

On March 15th, Sebastian Rindom, the CEO & Co-founder of Medusa, did an interview with Flagsmith where he talked about how Medusa started, why create a headless commerce solution, why make it open-source, and more.

This article sums up the main points of the interview, but you can take a listen or read the transcript on Flagsmith’s website for the full story.

The frustrations with current platforms

Really, the start of Medusa came out of frustrations with the current platforms in the market. Sebastian (CEO and co-founder) and Oliver (CTO and co-founder) had both worked with several ecommerce platforms before (e.g. Shopify, WooCommece, Magento), but had found that these solutions forced them into pursuing hacky workarounds every time customizations were to be done.

“We had customers who wanted to have customized experiences on their site. At that point, it can get a bit tricky depending on the solution you are working with but also how well the API is designed to accommodate these customizations.”

There are many popular ecommerce platforms that provide the entire shopping experience most businesses look for. However, the common factor between the platforms is that, with time, they prove to be hard to scale.

Another issue Sebastian and Oliver experienced was how hard it can be to customize these platforms. A lot of times as a developer you would need to do cumbersome workarounds on existing solutions to meet clients’ requirements when building new functionality.

“As a developer, it hurts your heart a bit because you know what is going on behind the scenes. It is more of a hack than real software development.”

With frustrations piling up, the team was happy to one day get a chance to build a setup that worked in the way they thought a developer-friendly setup should.

Building Bespoke for Tekla

Sebastian and Oliver got in the client, Tekla, that was interested in creating a scalable, bespoke solution for their business. This client wanted a platform that would solve previous problems they encountered, while also scaling with the business growth.

“They wanted to have a platform that they could grow with over time. They were very ambitious about where they wanted to be. From the get-go, they wanted something that could support them throughout the lifetime of their business.”

This client gave them the opportunity to create a platform that they’ve always dreamed of having and using. Even though at first they didn’t have the headless commerce architecture in mind, they knew that they wanted to resolve the main issues they struggled with when working with other platforms from a developer perspective.

They worked with many different programming languages previously, but they chose to create a Node.js ecommerce solution because they liked how easy it would be switching from working on the backend to the frontend.

“We have been working on [Medusa] for years but have only started talking publicly about it. We have been battle testing it and working closely with our clients, even sitting in their offices to make sure that we would be there every time something could go wrong, ready to figure out what and how we could improve going forward.”

Tekla not only benefited from the robust and flexible solution Sebastian and Oliver were creating, but they also benefitted from it being open-source. The open sourcing meant that Tekla over time would benefit from community members testing, using, and contributing to the platform as a whole.

Abstraction Based Architecture

Sebastian and Oliver started off with the intention to build one huge platform that combines all the ecommerce and CMS functionalities a business like Tekla could dream of. The problem with that, however, is that it can’t be done all at once.

As they picked it apart, they realized that they could abstract all these different components. That way, they can make use of other existing services, whether CMS, payment, fulfillment or any other services they wanted to be able to cater for different solutions.

“Every time we had to take one of these things apart, we were always thinking in abstractions, “What if our client wants to move to the upgraded version of the integration they have? How are we going to make that super easy?”

An example of this is adding a CMS system into the platform. A full-fledged CMS system is a lot of work on its own and would be time-consuming.

They then started thinking “what if, instead, clients or developers can integrate existing headless CMS solutions like Contentful or Strapi into the platform to add all these advanced functionalities?”.

This abstraction would give businesses and developers more flexibility in choosing their CMS systems. All we have to do is ensure that they can make this integration easily without any hacky solutions.

As they added these different abstract layers based on integrating them to other headless solutions, they realized that the solution was becoming a headless commerce solution.

“The notion of headless came with us finding headless CMS solutions. We did not realize that what we were building was headless eCommerce. [...] Someone came to us and said, “You are building headless eCommerce.” We realized that is true.”

Next step: Open Sourcing the Solution

After working on this platform for Tekla, merchants started showing interest for using their platform. This was the point, where Sebastian and Oliver noticed that this platform could be helpful to a much broader audience. After all, the problems they faced when using other platforms were problems that other developers faced as well.

They decided to shift the focus from building specific client solutions towards instead aiming to make the best developer-focused ecommerce platform out there. And the best way to do that is by working with other developers to test and build this platform. So, they decided to open source Medusa.

Open source creates a give-and-take relationship with people across the world. It opens the door for more people to use your solution, which means more people are testing the code and contributing to it.

“We love open source. It is amazing that we can share code with everyone across the world and borrow from others. It is a huge benefit to innovation in general.”

Nowadays, Medusa has a rapidly growing community (now +1,300 members) that exchanges ideas daily over Discord and helps onboard new users. This is likewise a place the two founders frequent daily to make sure people have a great experience with the software.

The open-source part of the solution also means that you have even more freedom to shape your store into what you want. As Medusa has an MIT license, you can take Medusa as is and build on top of it, or you can take it apart, removing and adding components as you see fit.

“We would love to see other companies build with Medusa as the order engine in their software. [...] you would reach Medusa, build this application, and monetize it without worrying about paying us.”

What’s Next for Medusa

We’re working hard to add more features and functionalities to Medusa. We are focused on making sure that our APIs are incredibly good so that developers and businesses can comfortably start working with Medusa to build their online store.

If you want to get started with Medusa, be sure to check out our GitHub repository for a quickstart guide to get your store up and running in minutes!

Top comments (0)