Library Podcasts

Ep. #99, Headless Commerce Engine with Sebastian Rindom and Nicklas Gellner of Medusa

Guests: Sebastian Rindom, Nicklas Gellner

In episode 99 of JAMstack Radio, Brian Douglas speaks with Sebastian Rindom and Nicklas Gellner, co-founders of Medusa. Their conversation focuses heavily on Medusa, an open source headless commerce engine, and its use cases, as well as a holistic perspective on e-commerce stacks.


About the Guests

Sebastian Rindom is Co-founder and CEO of Medusa, where he has been building the product over the past 3 years.

Nicklas Gellner is Co-founder and COO of Medusa. He has a background as a consultant at McKinsey, specializing primarily in eCommerce and digital strategy.

Show Notes

Transcript

00:00:00
00:00:00

Brian Douglas: Welcome to another installment of JAMStack Radio.

On the line we've got Sebastian and Nicholas from MedusaJS. Sebastian, Nicholas, you want to say hello?

Sebastian Rindom: Hey, everyone.

Nicholas Gellner: Sure. Hello, Brian.

Brian: Curious, I don't know who wants to go first. Can you tell us why you're here and what you guys are working on?

Nicholas: Yeah, Sebastian. Best you kick it off.

Sebastian: We built MedusaJS which is an open source headless commerce engine, and what that means is obviously it's open source, it's headless so we have decoupled the way that data is being entered into your system from how it's being displayed in your eCommerce store.

Then we are an engine in the regard that we focus on creating great APIs that developers love and have a great time interacting with.

One of the key benefits of using a solution like Medusa is that you can really customize and extend the core of what's possible within Medusa, so whenever you have a new system that you want to integrate with or you have a funny feature that you think would improve the way that people are purchasing stuff from your store, well, then it's always possible.

It's possible, most importantly, in native ways so you're not hacking your way through some platform to make it work.

You're actually doing what we like to say is real software development where you contribute with value into the store or your engine, and that value increases over time.

Brian: On your website it mentions that you are the open source Shopify alternative.

I've done very, very little Shopify development and I believe they call developers on the Shopify platform Shopify devs because you have to know the ins and outs of the ecosystem.

Liquid syntax as well, which is familiar if you use Jekyll but it's still not purely writing JavaScript or purely interacting with React and then adding in libraries.

So let's start with the start, why build this and what was the progression to eventually get to taking this as a full on company now?

Sebastian: Sure. So the story is that prior to doing this full time we had an agency.

The agency just started as a side project whilst studying in university, so we took in all kinds of different tasks and we happened to have a lot of eCommerce clients.

These eCommerce clients were on all kinds of platforms and they usually came to us with some sort of integration task or something like that, and we found ourselves in a position many times where the platforms that we were working with, they didn't really cater to the feature that was being requested.

Over time, after having encountered that issue multiple times we were just super tired of it. Then we had this one customer who wanted to go the bespoke route and that gave us a chance to really design the architecture as we always wanted it to work for ourselves, so we started focusing on this modularity.

We looked a lot to a project like Gatsby and Gatsby's plugin system, and leveraging the fact that you can basically change an integration with just modifying your plugin file.

Over time we came to realize that this product was actually making ourselves super happy.

We felt more powerful and our clients were happy because we could almost do anything that they asked for, and then it just made sense to spin this out into a company and focus on giving it to as many developers as possible so that they could feel the same joy and be happy and powerful.

Brian: Awesome. Yeah, go ahead, Nicholas.

Nicholas: Yeah. The whole idea of the company and really what distinguishes it as a product is that, one, it's open source and, second, it's developer first.

I think what we have seen in recent years in the world of commerce is there's been a lot of these new solutions popping up to compete with Shopify, Woo Commerce and the likes, especially building with a headfirst approach for all the natural benefits of performance, of frontend control, et cetera. But really what there hasn't been in the market is a solution with Node.js that's also headless and that's really focused on developers. Here, what we try to bring in with the headless approach is really lowering the bar for when you can start building these more composable commerce solutions.

What we have seen, at least from working with also headless solutions in the past, is that it's usually something where you have to start at an enterprise level and you get into it when you're a larger company and a larger stretch to actually move to a side platform.

But we see both from clients asking for it and from developers asking for it that many companies want to go on this journey much earlier, but there is not a clear migration path because most of the headless solutions are for larger corporations and there is no good alternative here.

Really what we're digging into is saying, "Okay, let's give you a platform that you can customize and you can compose in any way you want so you can scale with it and take ownership of your commerce style approach.

Brian: Okay, excellent. I think this is awesome. Again, I've had some tinkering with Shopify but also just directly with Stripe.

To one end, Stripe has a great SDK but there's a lot that you have to build yourself and make that connection.

It's great for taking payments for SaaS apps, but if I want to sell stickers or if I want to throw T shirts up on a page, there's a little bit that's left to be desired.

But the other angle is that I look at a Shopify, but then that's also I'm opting into the ecosystem and a platform, and if I want to throw together a Svelte app or a React really quick frontend because I can throw that together, I want to be able to do that but I've always had that limitation of it's either left or right.

This seems like it's a good Shopify alternative, for sure, but the fact that it's open source, again I'm super intrigued by that so I want to actually learn about the team.

So it's you and then there's a third co founder as well, but how do you take on contribution? Do you take on contribution from open source?

Sebastian: Yeah, absolutely. We love it when people have something to contribute with.

We also have a Discord community with a bunch of developers who are all helping each other and trying to figure out how to do different things.

So yeah, the team is right now obviously us three, then we have six developers and a content writer, and a couple of more people that are in different functions.

But yeah, for sure, we try to obviously orchestrate everything from planning the roadmaps internally and figuring out what are the features that we want to go out there and build, and then what we like to do is we like to do these writeups where we break down what is it that we intend to implement, and how are we going to implement it and go into as much detail as we possibly can.

Then we like to upload that into GitHub discussions, and actually have the internal discussion going on publicly through discussions on GitHub.

That obviously allows the community to take part in understanding why are we building certain features and why are we doing it in the particular way that we end up implementing it.

Then it obviously also makes it a lot easier to find that place where the outside contributor can actually find some work to do, right? So that's the way that we're working.

Brian: Okay, yeah. I love that model, and I love that y'all have a Discord.

I think open source, the ecosystem is changing a bit. At least in the JavaScript ecosystem I think we're seeing more and more open source companies.

I know I see as well as onboarding more open source companies every batch as well.

I like this trend because, one, it's the ability to grow community from the ground up. You have a lot of invested, invested as in they're shipping code and leveraging your plugins in ecosystem, but it also gives folks an idea of where you're going, what's next.

You can have a conversation, you can interact with the team, the community. I imagine even as you get larger you'll have dev folks or community managers to help get feedback from the community.

Nicholas: For sure, yeah. There's also another angle to this conversation, because from a merchant perspective, so not necessarily the developers who are developing with Medusa, but the ones who are actually using it on a day to day basis, it's actually also a tremendous benefit to have something that's open source driving your business because that enables you to take control of where your own personal roadmap is going.

This insight was actually one of the main reasons why we decided to open source Medusa in the first place, so we worked with this company called Techlite Fabrics who was growing really fast while we were building the solution with them, and we found that every day or every week they would have new requirements to their tech stack.

It could be anything from they wanted to try out a new analytics provider or they wanted to switch out ERP systems.

The size of the projects really varied a lot, but the fact that you know things were changing so quickly, it was just clear that if we had decided to make this a closed source solution others would not have the possibility to iterate as quickly as Techlite was able to do.

So that was the key insight that made us decide, "Lets do it open source and let's make it possible for everyone to benefit in this way."

Sebastian: Yeah. I think the interesting part is as well, when we actually went out initially and yelled, "Open source, here's an open source Shopify alternative for you to use," we saw a lot of traction.

I think it's only been six months since we first officially launched Medusa or told about Medusa.

Now we have 6,000 people on GitHub supporting the community and large community behind it.

When we speak to the people that actually join in here, the common denominator for most of them is they have some experience building with eCommerce and they have met these limitations because they were using proprietary tools.

The thinking space of eCommerce is such a complex one because each store and each web shop tries to differentiate at so many levels, especially compared to just let's go four, five years back where it was normal to look like each other.

Now people want to differentiate, they want performance and they want all these aspects that they cannot get with proprietary platforms, and that falls back to developers with the business being like, "Can we not do X, Y, Z?"

And developers having to say, "Nah, that's not really possible. That's not what the platform was built for, et cetera."

I think what we saw here with kicking in the door with Medusa is why not give a platform where they could actually say, "Yes, we can do the things, we've changed the things because we gave them an opensource tool that they can compose in any different way that they want."

Brian: As far as partnerships, integrations, who are folks you've seen, have approached you or have you approached, to help with your platform either opensource or what not?

Sebastian: I think the fantastic thing about the people who have been approaching us and have been building with us is the diversity in terms of use cases we have seen up until now.

Obviously Medusa was built here together with Techlite Fabrics which is a large company here, now driving a large B2C business across 50 different markets and really leverage the scale of Medusa and the ability to own the roadmap, quickly scale multicurrency functionality in some of these embedded features.

Then we have others now coming into the community which take Medusa and completely breaks it apart. We have a marketplace that's being built right now, it's an extended Medusa version which was not the intention initially that you should be able to build marketplaces.

One guy in our community, big shout out to Adrian on that one, who basically took Medusa, broke it apart and built marketplace functionality.

Then we have a lot of different cases had the solution where it's an AI platform on top to actually scan products and say, "Okay, it's a picture of this, it's part of a machine. Okay, that means a customer will need to order X component and then they're sent direct to a checkout flow where Medusa happens, all the backend stuff."

Basically you just need a very simple frontend, one page checkout flow, and they produce that, update that with Medusa out of the box.

So many different solutions, I could go on. But I think the common denominator is more the diversity that you can do so many different things with this type of solution. That's actually quite interesting to see.

Brian: As far as the tech stack for Medusa, are y'all writing this in JavaScript or something similar?

Nicholas: Yeah. It's Node.js all the way and then for the database we right now support SQL Lite and PostgreSQL, so those are the database layers. Yeah, that's it.

Brian: For folks, if they wanted to get started, I see there's a Gatsby starter and a Next.JS starter, are they self hosting this?

Are they looking for hosting their SQL Lite database and et cetera?

Nicholas: Yeah. At this point in time it's all self hosted. We do provide some nice guides for deploying Medusa onto Heroku, other different solutions like this.

I think one of the interesting things about headless commerce in general is that it quickly becomes an infrastructure nightmare and especially with closed source solutions because you have to have infrastructure that can integrate all your systems.

So if you're using a closed source solution and you're also using Contentful or something like that and you need to make these two integrate with each other and the platform you're using doesn't have an official integration, then you have to write that translation code yourself and host it onto a server.

Then now you have servers to take care of. What's nice about Medusa is that you can actually put that translation code into your Medusa instance, so once you've deployed the Medusa instance, that's also taking care of all the translations.

I'm calling it translations, but really it's integrations, right? So that's a major benefit for it.

And obviously I think at some point in time we're also probably looking to do a cloud solution ourselves so that you can actually host it with a single click.

Sebastian: We get that question a lot. It's no secret we are VC backed and have a crew of investors, who are brought here to support the journey.

How will you make revenue if you just produce an open source product? I think what is important for us to say here, we build an open source product because we want the open source product to be the best one.

And we've seen other solutions where you diverge into, "That is an open source product, then there is this cool thing over here which you have to pay a bit extra for and you get all the shiny things in it."

We really want to avoid getting into this part of the game. We think it's cool to actually give the open source and the developers who like the open source version the best possible experience.

Then hosting is a good way to, if you don't want to take care of maintenance and others, you can do that with Medusa at a later point.

Brian: Okay, perfect. Yeah, so you mentioned the cloud solution that probably's going to come down the road, maybe it's on a future roadmap.

I don't want to put a date on that for you. I'm curious, what is next? What are you hoping to ship in the next six to twelve months, while folks are listening to this and being enticed so far?

Sebastian: Where should we start? There is obviously a lot of different features that we need to put out

One thing that we've been working on quite a bit right now has there. been taxes, tax APIs so that you can really comply with every tax scheme in the entire world. And that's not particularly sexy, but the general theme for all of the features that we're shipping is always we try to look at an eCommerce stack from a holistic perspective.

And then we say, "Okay, you need some search, you need some content management, you need some product infrastructure management, et cetera, et cetera."

And then we try to say, "okay, how can we abstract integrations with different tools into our core so that you can start out using maybe a cheap version of a till system, and then when your business grows then you can switch out the cheaper version with a more expensive version and a more advanced version.

But we've already obstructed all of the functionality into Medusa so you don't have to write a completely new integration or go through insane migration paths.

That's really what we try and do and we try and do it for basically everything that has to do with eCommerce.

Nicholas: Yeah, exactly. I think that here we are at a place now, obviously having a few live stories posted from the community and we have been building ourselves, we have a quite strong proof of concept of everything working and this being the part.

But finding these features that they say, "Either that issue to use Medusa, or that are really wanted for specific use cases."

And we are always relying a bit on what we hear from people coming into the community, obviously people contacting us in side ways, of like, "These are the features we need."

And we take in all this feedback and basically discuss, "OK, what can make sense and be helpful for both merchants and developers going forward as an out of the box feature.

I know Sebastian mentioned, "Let's not try to build a rocket ship of we can do all features." Let's stick with a very pro eCommerce feature and build a really good project.

I think in the build of the JAMStack here, we want to be one solution and one part of the stack and you should have a whole lot of other integrations into it, but if we can do the commerce part very, very well then we are in a very good place.

Brian: Awesome. Most folks who listen, they know I had a side project called Open Sauce.

We had shipped a shop for giving out stickers as well as T-shirts, and I have not put much work into that because maintenance and trying to keep stuff up to date while also shipping stickers and putting stamps on everything. Here's my MVP of what I would use with Medusa, which is I want to basically spin up a Next.JS app, I want to be able to have folks purchase stickers.

Then the last mile of it is I actually would love to have this drop shipped or have another entity get that API data or get the web hook whenever something is sold and then they take care of that.

So is that possible today with Medusa or will it be possible when your roadmap is fulfilled?

Sebastian: Yeah. We are building a Printful integration, which is a similar thing where you can make an order via a Medusa store and then once the order comes in it's sent to Printful and they take care of fulfillment for you.

So that's definitely possible and we also have at Medusa, we have these Discovery Days we like to call them, so you're free to do whatever you want.

Some of them are from the team that build this one page checkout flow, where you can essentially go onto a link and the link is just the domain name/your product handle, and then when you land onto that link you only see one product and then that's a checkout flow for you.

So similar to Stripe payment wings, and obviously if you're building a sticker store and you don't want to put that much effort into maintenance and cool features, then that would probably be a pretty good place to start.

And it happens to be built in Next.JS. I think we almost checked all of the boxes there.

Brian: You had me at Printful, because I do have a Printful account.

I have not actually set it up, but just knowing that that could be an integration that I could do all open source, could get my open source contributors to help out with it as well.

I'm sold, so you definitely have one free customer, or if it's a paid thing, I definitely would pay for that, for sure.

Sebastian: Awesome.

Brian: Cool. I appreciate y'all coming on and chatting about Medusa.

Again, I'm sold on it. Hopefully listeners, they already checked out the website and are already on the GitHub repo while they're listening to this.

Anything else you want to mention before we transition to Picks?

Nicholas: Super happy that getting out to a JAMStack audience like this.

I can only say to people try it out, test it, and I think one thing that is cool with we still being new kids on the block here and open to ideas and inputs, if you have time for it. And like eCommerce, join in on this conversation, participate in discussions.

We are spending most days in there as well, chatting up and both helping people out, but also actually getting quite a lot of inspiration for where to put our roadmap next and where to move in this.

A lot of activity already, but we love when people join in with good input from the discussion.

Also, even if you say, "I love Shopify," we would still love to hear what is it that's so good and for us to learn about it.

We're here to learn as well, so join in if you want to go the discussions.

Sebastian: Yeah. I can only second that.

Brian: Excellent. Appreciate that. All right, well, I'm going to transition us to the picks.

These are Jam picks, it could be anything you're jamming on, music, food, code related. I've actually got some relevant picks too as well from our conversations.

The first pick is I actually yesterday started writing code on this app called Ketchup, Ketchup as in like the condiment here in the States.

But the idea is basically you can catch up on issues, the idea is you still this onto your GitHub repo as an integration, it's going to link directly to your Discord and then folks can be notified, "Hey, there's a new issue specifically for 'good first issues,'whatever labels you want to identify for."

The beauty of this is that you could also send it to other Discords, so other webdev communities as well. It's still early, it's under the Open Source Org.

It's still early days, but I'm all about showing people open source contributions, opportunities. Happy to get your feedback on the idea.

Nicholas: Does it work for your private Discord or is it a DM that comes in?

Brian: It will go to a channel.

Sebastian: That's really cool.

Nicholas: Nice.

Brian: Yeah. Again, Open Sauce community, we're a path to find your next open source contributions.

We love partnering with folks like Medusa and also Superbase, which is my other pick.

My last pick from the previous episode was about how OpenSauce.Pizza, over the holidays we built this thing which is essentially Product Hunt for open source projects.

The idea is we want to be able to send signals if things are trending, and so far most trending, it's based on stars.

But we have a cohort of like 400 people who like open source and hangout, we want to actually use that cohort to basically send signals.

I've developed a very secret, TikTok-like algorithm to surface up open source projects.

Nicholas: Sorry to interrupt, is it as secret as the GitHub Trending algorithm? Because I know that everyone at least in our office is trying to figure out how that works.

Brian: Not as secret as that. GitHub Trending is obviously something that we're very closely, but also Changelog.Nightly, those are all mostly based on user signals which is mostly stars.

So how many things have got stars lately? My approach is a little more focused towards folks who are doing contributions.

So if I'm a new contributor to Medusa, I would love to send that signal to the rest of the squad and say, "Hey, Medusa is actually taking contributions, there's good mentorship, they've got a Discord."

This person is now a champion for this project and they can send that signal back to the rest of the group.

Sebastian: Wow. That's cool.

Brian: That's the longer tail idea. But it's a side project so I've been live streaming this on Twitch. Twitch.tv/bdougieyo so if anyone wants to come brew and see what I'm working on lately just show up.

Sebastian: That's pretty cool, that's really cool. Okay. That's two good picks here. It's a difficult one to beat.

I have to say you mentioned Superbase as well, if not for anything then designing into Superbase for following their Twitter account, for a good laugh in there would be one pick.

Brian: They do a good job.

Sebastian: They definitely do. They definitely do. I can go ahead here, we've been pushing and working a lot with a launch coming up so have some work related here.

But actually spending quite some time on updating our Notion homepage at the moment.

We wanted to give a shout out to Strappy here, which we are learning a lot from.

They have this thing called The Strappy Handbook, which is basically their inspiration for open source companies here, but really making everything accessible in terms of their ways of working, their ways of doing different processes in company, values, mission, all these things.

The thing is, it's just an awesome approach. We really like the open source approach, and we have to admit we're going to steal some of the ideas here of being more open about internal processes and how everything works and trying to reconfigure the Medusa home.

But I've spent quite some time on this, I think it's an awesome world.

Brian: I'm always interested in how companies and teams operate and when folks share and are open sharing that. I'm totally down to take a look and also steal ideas for my team as well.

Sebastian: Exactly.

Nicholas: I think Solana Pay was released a couple of days ago, and that's obviously quite interesting because we already have integrations to a number of different payment gateways.

And if you've been anywhere near Twitter for the past year you will know what an NFT is and what Web3 is.

Wouldn't want to say that we want to get into Web3 per se, but I think it's super interesting to see how we can start working with Web3 technologies actually.

We're doing this collaboration with a Danish brand for token gated products, so the idea is really that they are going to release NFTs and then if you're a holder of that NFT you're allowed to buy a limited edition collection of their products, their physical products.

It's such a crazy space, and I also spent the Christmas period really trying to dig deep into Rust and trying to understand all this stuff going on with Solana. That's my cake. It's super cool work.

Brian: Okay, awesome. You're never not going to be not excited about something over there if you're involved, for sure.

Yeah, it's something I'll definitely check out down the road. We didn't even get into payments and crypto and stuff like that at all.

For some reason, a lot of these podcasts lately have diverged into that but we've stayed pure in the whole Web2.0 ecosystem today.

Nicholas: Yeah, that's good.

Brian: Cool. Well, I appreciate you both for sharing about Medusa. Honestly, the excitement is real.

I definitely want to actually build with Medusa and actually think about rethinking our swag shop, and especially with your integration with Printful.

If you're willing, I'd love to send some of my open source contributors over to Medusa and see if they can take a look at that and build their own projects out of that.

Sebastian: Absolutely, we'd love that.

Nicholas: We would welcome them with open arms here.

Brian: Cool. Sounds good. Well, thanks for that. And listeners, keep spreading the Jam.