Solidus is a free, open-source eCommerce platform based on the Ruby on Rails framework. Built as a Rails engine, Solidus is designed to be incredibly flexible: you start from a strong foundation and a fully functional backend, but you can customize every single aspect of the platform, either through built-in configuration hooks and extensions or the Ruby's and Rails' native override mechanisms.
By providing the building blocks for creating production-grade online stores, Solidus saves you a lot of time and money, while still giving you all the flexibility you're going to need.
Today, Solidus is used in production by a multitude of popular stores such as FLOYD, Maisonette, MeUndies, Away, Casper, Bonobos, Ace & Tate and quite a few others.
In the beginning there was Spree Commerce, a still very popular eCommerce platform for Rails. Spree was an incredibly active, community-maintained project that saw a lot of activity. In 2015 however, Stembolt, an eCommerce consulting firm, didn't like the direction the project was taking and created a fork they called Solidus, which put the focus on stability, ease of upgrade and backwards-compatibility. Shortly after, the Spree project was acquired by First Data, a payment services provider, which completely shut down the development of the project.
At this point, Solidus started gaining a lot of traction. Much of the Spree community migrated to Solidus and started contributing to the platform. Stembolt did an amazing job in giving the project a strong direction and creating a passionate community around it. In July 2018, however, Stembolt was also acquired by one of their clients, JUUL Labs, and stopped actively working on Solidus.
Luckily, Solidus was built to survive the hit: the community, led by Nebulab, the largest contributor to the platform, quickly reorganized under a new model of decentralized ownership that would guarantee the long-term success of the platform.
Today, the Solidus community is strong and healthy, with technical and financial contributions from several industries. Retailers, agencies and passionate developers have come together to work on a project they love and use on a day-to-day basis. The result is an eCommerce platform that is built by the same people who use it every day, and incorporates insights and feedback from companies that come from different business domains and scales.
eCommerce is quite an old problem, and it has been solved in many different ways throughout the years. In this section, we'll attempt to compare Solidus to some of the most popular approaches and specific products in the industry. Bear in mind that each product was built to solve a very specific problem, just like Solidus, and may or may not be a good fit for your needs.
SaaS (Software as a Service) platforms are managed solutions that are hosted by the company that created them, in exchange for a monthly or yearly fee. Popular examples are Shopify and BigCommerce. These products usually expose a UI that allows you to control different aspects of your store and provide some kind of extension or app marketplace where you can install additional functionality, either for free or by paying an additional fee.
While they are great to quickly get your store up and running, SaaS platforms are, by their very nature, quite limited in how much they can be customized. Because you don't have direct access to the code that is running on your store, you can only customize what the software vendor allows you to customize. Furthermore, any customizations you create are "isolated" and cannot easily interact with other components of the system. This makes it much more difficult to create fully integrated experiences.
Solidus takes a very different approach: by giving you full access to the underlying platform's code, it allows you to completely customize any aspect of your store. When you decide to base your store on Solidus, the sky is the limit, quite literally. Of course, this comes at a cost: you need to make sure you have the technical expertise and resources you need to maintain your store.
Solidus' approach is not new in the eCommerce world. Magento and Spree are among the most popular open-source eCommerce platforms, although there are definitely others. While the general approach of these platforms is the same as Solidus, each product is tailored for a slightly different type of store and user base, and understanding these differences is key to making the right decision.
Magento, for example, is a very large and bulky piece of software. This makes it a good option for stores that need a ton of standard features out of the box and are not looking to do a lot of customization. That same strength, however, can become a problem for smaller stores that want a flexible platform that can grow with them, or even for larger stores that want to be able to customize every nook and cranny of their customer (and admin) experience.
Spree, the project Solidus was forked from, still provides a lot of customization freedom, although the community has been working to appeal to a larger user base by creating UI-based configuration flows and out-of-the-box storefront themes. These features suffer from the same limitations as SaaS platforms: at best, they will sit unused in your codebase as you ignore them and do your own thing; at worst, they will actively slow you down as you try to make them work for your unique use case.
Solidus took a different path: it's a complete, yet nimble platform that puts you in total control of the shopping experience you want to build. While this can feel scary at first, it's a really liberating experience once you get used to it.