Skip to main content

Spree commerce vs custom solution from scratch

General • Asked by Sam Uherek

Hey Chris, like most people already mentioned, awesome content on GoRails.com. I love how you give additional explanation to how things work and not just a step by step tutorial how to make something work. Anyway, I have a dilemma and would love to hear your opinion about it.

I'm starting to work on a new project which is going to be an online marketplace where you have three roles. Buyer, Organization and Admin. The Admin would be the web app admin, the Organization would be an account where you would create products for sale, manage orders, have an organization profile and some additional stuff, and the last is the Buyer which is a general user that needs to have an account to keep track of their orders and see the shipment progress. You could think of it like Etsy.com (or any other marketplace where the Organization needs to be approved by the Admin first to sell products).

The general plan is quite straight forward to me how to go about building this, but I am not sure what the best approach would be for the long term. Specifically, should I start building this from scratch and slowly add features or should I use an open source platform like SpreeCommerce and spend some time to customize it while taking advantage of their more advanced features?

My main concerns are:

  • I am new to Spree and I can't really find any good articles on how to go about customization. I'm a bit afraid it would take me too much time to fully understand the platform to get me started on this project.
  • On the other hand, I am a bit afraid if I start the marketplace from scratch it might get complicated to implement more advanced features that Spree would provide you out of the box, and I would have a hard time implementing it on my own.

So, the dilemma is, should I invest time into understanding Spree and customize it for my needs with the benefit of long term stability because there would be other developers improving the platform and making it secure. Or should I get on the project with my own code with the help of gems where I could get the app to the first version quicker because I know how, but risk the problems in the long run let's say with some payment or tax features I would have to implement on my own?

I am opened to either way, I just feel like I am not advanced enough to see the long term benefits or drawbacks.

Thanks a lot in advance!


Hi Sam,

Spree is no longer open source, but there is a forked gem of it that is well maintained called Solidus. I can't say that I've used it, but I have done quite a bit of research on it and it really looks like it's the best way to go in terms of eCommerce.

This site has some pretty good resources to checkout. Codemy.net. His videos can jump around a little, meaning sometimes I feel like he doesn't remember exactly where he left off from video to video, but hopefully this will help.

Good luck.


Would appreciate any updates on this topic - Spree v. Solidus. I am looking at migrating a woocommerce app to rails, but the disarray in the Spree ecosystem has me concerned. Solidus is promicing but its newness is concerning and its installed base is tiny. I saw a lot of chatter in 2016 on this topic, but not much since then.

What is the best OSS ecommerce platform for Ruby/Rails in 2017?


Spree Commerce is and always will be an open source project. The company that was developing Spree until 2016 was acquired by First Data and the open source project was handed over to the community. You can check the development roadmap. We've recently released Spree 3.3 with Rails 5.1 support and we're finishing 3.4 release as we speak.

Other resources:


Awesome, Thanks for the update and resources @Damian!


Thank you for the reply @damianlegawiec and all the work your team has put in. Glad to see more momentum behind the spree community and full Rails 5 support.


Login or Create An Account to join the conversation.

Subscribe to the newsletter

Join 22,346+ developers who get early access to new screencasts, articles, guides, updates, and more.

    By clicking this button, you agree to the GoRails Terms of Service and Privacy Policy.

    More of a social being? We're also on Twitter and YouTube.