Can we create a LittleBrother of ShareTribe - more simple, less complex

Hi all, just want to float this idea out there to get some feedback from the community. I have been doing some reading and thinking about where Juho and the team are taking Sharetribe.

Firstly can I say that I think they are doing an awesome job with the hosted service and over time the hosted service is going to have many features and benefits and I will always encourage anyone that asks me to use the hosted service if possible.

Secondly I think I speak for the community that we are very grateful that you have shared the code openly and that everyone can benefit from it.

However, our experience in implementing a self hosted version of Sharetribe for ourselves has been an interesting and expensive journey. It is essential for our business model to work that we make specific customisations to the platform to make it valuable and usable to our customers. The Sharetribe application is now a pretty big piece of code that is complicated and time consuming to get your head around. There are many moving parts. The technical direction Joho is taking the platform making use of Clojure and ElasticSearch are all fantastic things for their hosted model as it makes their Multi-marketplace code base scale and more cost effective for them to host, keeping the price of their service reasonable. However, these very architecture decisions make it more complex and nearly impossible for someone to run a marketplace on their own without very specialised set of skills.

My suggestion is that we consider a new code repo for Sharetribe. Lets call it LittleBrother for the time being. LittleBrother would be optimised for the individual marketplace not one that caters for multiple-marketplaces. LittleBrother would be more aligned with the “Ruby Way” reducing complexity in the current code base and making it simpler to manage. LittleBrother would come with a working Stripe.com implementation. LittleBrother would come with a working search location implementation. LittleBrother would not introduce complexities of Clojure, ElasticSearch or other languages enabling a good full-stack developer (Ruby, Rails, React.js, node.js, HTML, CSS) to look after an implementation. LittleBrother would be upgraded to Rails version 5.

We would be willing to contribute our code base to start this public repo. It has working stripe.com code. It has working search by location implementation. It has some other features that are also useful. We would do this if those folks that have implemented their own marketplace would be willing to contribute bug fixes and feature enhancements.

I’m keen to get people’s thoughts on this. I needed to get this off my chest as the direction Joho is taking the code base will increase our costs over time rather than decrease them and I think there is a need in the community for a self-hosted version of the code that is optimised for small teams.

Thoughts?

6 Likes

Hi Matthew,
I agree with you. I’m a developer implementing a self hosted sharetribe. It takes me many time to maintain and develop new features because, as you said, there are many moving parts.
A version for individual marketplace, reducing complexity would be great!

Hi Guys,

Looking at setting up a custom implementation of ShareTribe for a client, did you ever get a smaller footprint project started? I would be interested in seeing what I could contribute to it.

Hi Ryan, we haven’t yet, we just keep navigating around the multi-marketplace stuff.

this is great info, thank you for starting this thread. i’m new to the sharetribe community and i’m investigating whether the open source project will work for me or if i should just build a custom web app. i’m currently on wordpress and i need to get off it soon. i have a very small team (1-2 developers) and not much money. do any of you more experienced folks have estimates on how many hours or how much money you spent setting up your self-hosted sharetribe instances?

here’s a link to my site: http://www.kwaddle.com

Hi…great site by the way…

  • AWS Monthly costs $300 to $350 USD - (Production, Staging, PreStaging)
  • have 3 developers - but I could easily use 5 based on our backlog
  • we have spent 15 man months to build CycleLifeHQ so far

This to know

  • Sharetribe is not a CMS, things you are used to doing quickly in wordpress will take longer
  • there is no plugin framework for Sharetribe, you have used heaps of plugins to get your site rocking really quickly, you will have to rebuild most of those with Sharetribe.
  • starting with ST will save you at least 3 man years of effort over building your own custom web app
  • ST is super super stable, because they have to service heaps of customers from the SaaS instance and the code base is mostly the same.
  • you need more skills in your team to do ST well (Rails, React.js, Clojure, etc, etc)
  • your current PHP devs are going to struggle and you will need to build a new team
  • you will have to migrate all your data and write code to do that as there is no easy way to port your website to ST

But saying that, if you want your education partners to start managing their own listings and for you to start taking payments through a platform ST is a good choice.

But be aware there is no support for a Scheduled Training Course at the moment in ST. You have to create each listing separately. I mean by this, if an educator has the same course but it is scheduled on 5 different dates, they have to create 5 listings and copy their content rather than creating a single listing and adding the 5 sets of course dates. But if you build this module we would be very interested in contributing to the requirements and testing of it.

3 Likes

Matthew - we are in the exact same boat as you. Your post really resonated. We’re migrating to the open source version for our site (www.petmasters.com) after taking the hosted version as far as we can take it and waiting patiently for Stripe to be finished. We’re experiencing the same pain navigating the multi-marketplace code and we have a strong desire for a stripped down version designed for a single marketplace. Have you made any headway on this and any high level conclusions on the viability of such an effort? Would love to discuss further! -Mike Caldwell, Founder/CEO Petmasters LLC.

Hi Mike,

We have persisted with navigating around the multi-marketplace code and probably not as motivated to change that. However, we would still be very supportive of reducing the number of technologies in the stack. I mean, going with Clojure for scheduling I have never really understood the rationale, javascript or ruby would have been a better choice perhaps. The growth in different technologies is probably more the issue now as it is difficult to find developers with all the skills they need. I have a Clojure guy in my team but we got lucky.

We are upgrading our site to 7.1 to take advantage of the new stripe code, but we will modify to make use of the Simple account model rather than the managed model. Most of our suppliers are commercial entities that pay taxes and have insurance and doing online business already, so the managed account model does not work for us. We think this will take us about 2 weeks given the amount of customisations we have to re-integrate and re-test.

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:

  1. [Multivendor Ecommerce Platform – Complete Marketplace Solution - YoKart]
  2. [myTurn | Track, Rent, & Share | Lending Library and Rental Software]
  3. [Home | BlankSlate]
  4. [Wave 2 | Dynamic advertising and marketing automation solutions]
  5. [Directory Theme for WordPress]
  6. [eCommerce Platforms | Best eCommerce Software for Selling Online | Magento]
  7. [Shopping Cart Software & Ecommerce Software Solutions by CS-Cart]
  8. [IZBERG - The Most Advanced Marketplace Platform]
  9. [Arcadier Online Marketplace | Digital Platform for Multi Vendor Ecommerce]
  10. [Marketplace Builder]
  11. [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:

  1. Shopify
  2. Square Space
  3. Weebly
  4. Wix
  5. BigCommerce
  6. 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

1 Like

Very well-thought out analysis, @tunacasserole. Self-deployment and extendability are some of the efficiencies that open-source projects typically promise, but it’s apparent to me that the ShareTribe codebase was meant for managing multiple marketplaces.

I guess the main question is, is the technical debt of a codebase too big and complicated for a startup worth the value added from having all its features? Are the hours you gain at the beginning of the project worth the hours you will lose once everything is better established or ramping up? That must be the kicker.

Thank you guys for the inspiration discussions. I am not technical, but may I ask where are your teams located? I understand the cost of developing self-host Sharetribe can be greatly reduced if you can leverage dev teams in developing countries such as Vietnam (even India is getting expensive this day).

Another reflection I have is that the complexity of Sharetribe is not useful for marketplaces starting out, but it will become useful again once your marketplace reaches a certain size that requires that level of complexity?

Finally, I totally resonate with the idea of INDIVIDUAL MARKETPLACE. This was our biggest issue with Sharetribe. In terms of payment, we wanted only one account to receive all payments. There was no easy way to do it with Sharetribe. Not only the payment code needs to be rewritten, the business logic / interface / transactional mail needs to be completely rewired.

I wonder, how many of marketplaces out there really need site members to have individual Stripe / Paypal accounts. If you are a service marketplace, cash payment is probably to best way to do it for many tech and non-tech reasons. But we still need to collect the marketplace fees online as it is not efficient to deal with repayment from individual sellers.

Hi Duc,

On the payment system, it really depends of the marketplace. For second hands products with a face to face interaction, cash is okay (Then you cannot take a commission on it, but you can do it differently). For the marketplace that involve shipping products or do remote services, you must have a payment system.
Unlike Vietnam, “Cash On Delivery” is not popular anymore in Western countries.

I live in Vietnam and I was surprised to see this practice actually even on large website like Lazada and others. And it was an issue when the website was only offering this payment method as I don’t want to give cash to delivery people or I find it easier to pay by credit card directly.

However, yes, a light version of sharetribe could be beneficial, but I suppose the devs have already a lot of work with their current version and they need to ensure their financial stability first. It is probably too early for a different version I believe.

Where are we with that light version of Sharetribe ?
I am a ruby on rail developer with alot of experience with Spree and AWS cloud computing,
I could work with you if you need help on this.

Solidus multi domain could provide a good backbone for a Spree/Solidus project. Having checked out and modified a Solidus project quite a bit, the UX on the vendor side is not amazing. Maybe they have changed it substantially from the version I toyed around with. :neutral_face:

Then again, there are numerous plugins and its a really extendable codebase generally.

Hi guys, sorry to dig up such an old thread. This thread is such a gem (no pun intended) that I had to keep coming back to it.

I imagine there is little progress on the Little Brother version of ST. My other question is, can we develop a common “Sharetribe” cheat sheet, or a quick-start guide of some sort, so that new developers come in can quickly learn the many moving parts of Sharetribe in the shortest amount of time possible?

I had a new dev joining and gave him 2 hours to “learn the code”. He said he went through everything and when he actually started to build a new feature he couldn’t even understand the listing category - order type - pricing unit trio.

If you guys have some docs written up somewhere, feel free to send them to me at duc .pham at freelensia dot com. Or some quick comments would help too. I am happy to compile them to a shared knowledge DB. Thanks!

Duc

PS. @matthewvryan talk to you later today!

1 Like