Sunsetting Piggybak, A Ruby on Rails Ecommerce Gem
By Steph Skardal
February 14, 2018
Hi there! I’m Steph, the original creator and not-very-good maintainer of Piggybak, a modular ecommerce platform written in Ruby on Rails. With the help of End Point, I created Piggybak after building a custom Ruby on Rails ecommerce application for one of our clients here at End Point.
My goal with Piggybak was to create a lightweight, modular ecommerce platform in the form of a Ruby on Rails gem that could be combined with other Ruby on Rails gems for quick setup. Over the years, End Point has had much success working in Interchange, an ecommerce framework written in Perl. The web stack has evolved greatly over the years, as has the capacity for modularity and the ability to decouple front-end and back-end architecture.
Fast forward about 4 years after Piggybak was released, and we’ve decided to retire it. Not only did I leave the maintenance up to End Point after I left to work as an in-house software engineer for the last couple of years, but I was also in a position to evaluate using Piggybak as the base for a custom solution.
While I think there are some great Ruby on Rails gems to help support your ecommerce application (see below), one of the main things I realized was that the modularity in Piggybak often doesn’t suit the needs for the target audience of custom Ruby on Rails ecommerce platforms.
These days, here’s my oversimplified categorization of those looking for ecommerce solutions, divided into two audiences:
Audience #1: Boilerplate Saas with Theme Customization
Those sellers where boilerplate ecommerce solutions work, with simple product and variant modeling. Shopify, Magento, BigCommerce, WooCommerce can be decent popular options for that audience, but there are so many other options out there.
Audience #2: Custom Ecommerce in Ruby on Rails
Companies going this route have custom enough needs where a small team can develop and maintain a custom solution, using Ruby on Rails efficiently that don’t require them to depend on a pre-existing data model or business rule.
Not only did Piggybak suffer from a lack of community involvement, but it also didn’t suit the needs of the two audiences listed above. Because it was complex enough written in the form of a Rails gem (engine), it required a developer with some knowledge to install and customize further. And because it defined assumptions around the product-variant data model and business rules for inventory and payment management, it wasn’t necessarily a good fit for custom ecommerce needs.
Other Ruby on Rails Gems
While I’m sad to sunset Piggybak, I still believe Rails offers great options for ecommerce needs, including these popular Ruby on Rails gems:
- Rails_admin, active_admin (no longer maintained), administrate
- Carrierwave: File attachment management. Has decent third party support.
- Devise. User authentication marches on.
- Cancancan. User authorization.
- Kaminari. Pagination.
- RSpec, FactoryBot, Capybara, the testing stack I am most familiar with.
- ActiveShipping. Shipping for ecommerce.
- ActiveMerchant. Payment gateways for ecommerce.
If you are wondering if there are any Ruby on Rails ecommerce gems still out there, you can look at Solidus, Spree, and RoR-E. End Point has a long history with Spree, and experience with the other two platforms, but again, the audience of those businesses choosing a custom path may not want to be tied to the data models and business rules adopted by these existing platforms.