Let me start by saying I think ST is a great way to get going quickly on a new marketplace and the hosted product is wonderful. The challenge I’ve been given is to move from the hosted solution to a self-hosted version. I wanted to share my observations after a few days of working with the ST codebase.
1. There is no elegant way to “extend” this code.
When I downloaded the site I immediately realized that this wasn’t only our site, but it contained the entire share tribe codebase including all of the logic for configuring and generating more sites. This code really should have been segregated out into another gem. Anyway, this means an extremely bloated codebase for our purposes. Bloat isn’t just a problem for loading speed and ease of deployment, it also makes development far more cumbersome, intricate and slow. Had I been given the home page html & css and been told to stand up a new full stack rails project with that look, I could have had something out by COB yesterday. Instead, I spent all day trying to weave my customizations in with the Sharetribe files in the least invasive way possible, but guys I gotta be honest, if we continue down this road within 1-2 months we will diverge completely from master and our codebase will be un-upgradeable. Even cherry picking new features as share tribe evolves won’t really be possible. Put it this way, the effort to copy any new share tribe feature code in to our Frankenstein would probably be around the same as just doing it from scratch, and again, you wouldn’t do it the share tribe way because those features are built to work in a highly-configurable, meta-data driven, multi-tenanted way - all things we not only don’t need, but actually don’t want.
All in all, I’d say that if I continue with this approach I will be spending at least half of my time trying to make our functionality work in the context of the sharetribe codebase. The result will be a super bloated, un-upgradeable abortion that won’t serve you. It will be very difficult for myself and others to make change and if you come under any scrutiny from VCs or potential buyers, they won’t like what they’ll find.
2. This may not be the best way to achieve SEO and theming.
Our short term goals in moving to a self-hosted version were to re-skin / re-theme the current site so we have our own unique look, and more importantly, overhaul the structure of the site and the links within to be SEO optimized. This probably seems fairly trivial, and in a normal site of a similar size, it would not be a major undertaking. However, given the complexities of this codebase, it is unduly arduous. I’m not saying all this because I’m lazy and I can’t/don’t/won’t do it. I could absolutely do it, I just don’t think it’s a good approach.
Sharetribe claims to already be SEO friendly: “ All Sharetribe marketplaces are SEO optimized”. Have we investigated this statement? And it also allows you to add “custom css”. Have we evaluated that statement?
The reason I ask is because no e-commerce site worth a damn would not already be SEO optimized, otherwise nobody would ever go there and the site provider would never survive. Also, most of the other major players in the online marketplace / e-commerce space offer true theming with different site layouts. Alas, Sharetribe has only 1 layout and no theming (just colors and a logo).
I just truly question applying] limited resources towards abandoning a good hosted solution so that we can set our own up and perform a bunch of throwaway development only to get 2 things we should have gotten out of the box.
Thus we need to consider alternatives such as:
- [Multivendor Ecommerce Platform – Complete Marketplace Solution - YoKart]
- [myTurn | Track, Rent, & Share | Lending Library and Rental Software]
- [Home | BlankSlate]
- [Wave 2 | Dynamic advertising and marketing automation solutions]
- [Directory Theme for WordPress]
- [eCommerce Platforms | Best eCommerce Software for Selling Online | Magento]
- [Shopping Cart Software & Ecommerce Software Solutions by CS-Cart]
- [IZBERG - The Most Advanced Marketplace Platform]
- [Arcadier Online Marketplace | Digital Platform for Multi Vendor Ecommerce]
- [Marketplace Builder]
- [Market Engine | Global Retail Markets, Unlocked]
Additionally, many traditional e-commerce players now offer some sort of peer to peer marketplace capability, so you could look at:
- Shopify
- Square Space
- Weebly
- Wix
- BigCommerce
- Volusion
And on…
Again, I just don’t think it makes sense to take 2 months to stand up our own site only to get theming and SEO, especially given that our approach means this work will be throwaway.
3. Rolling your own
We had been against rolling our own site from scratch because it seemed too expensive and time consuming. That makes sense from a business plan perspective, unfortunately, with the current approach we essentially are rolling our own, it’s just frankensteined on to a much larger codebase. This means that you will still incur the costs of development, we still end up with our own highly-customized site, but we lose the freedom, flexibility and speed of a typical green-fields project, and we end up with a very sub-par product.
I won’t sugar coat the custom dev option. It probably is many months of development. I can’t give an exact timeframe, but depending on the feature set, could easily be 3-6 months of my time to re-create the ST functionality. Maybe faster if we added a second killer resource.
I do believe that I could stand up an MVP in about 2 months with the minimum functionality needed to allow the marketplace to operate:
1. Security - Authentication, sign up, sign in, sign out, my profile, forgotten password, admin screens for user mgmt.
2. Listings - add new, search, remove
3. Payments
However, it would not include all the goodness that ST provides OOTB.
4. Conclusion
I have seen small startups waste hundreds of thousands of dollars building bad tech. I have seen projects stretch on forever and eventually be abandoned because it was a bad idea in the first place and they could never get the stack to work. That is my fear with taking the approach of trying to start with the ST codebase and build our site from there.
Just my thoughts. I’m not at all against ST, and I think the hosted solution is great. I just don’t know about the value of starting with the same complicated codebase to create a simple, single-tenant marketplace.
Thanks,
Aaron Henderson
aaron@buildit.io