My Startup Failed, So We Open-Sourced the Tech
In this postmortem from 2020, @Viveckh candidly breaks down the dissolution of their startup, examining the fatal assumptions, misallocated resources, and market dynamics that led to its shutdown.
Community discussions on HN centered on identifying product-market fit early, avoiding vanity metrics, and the emotional recovery process after shutting down.
Not to be a jerk, but IMO this is a good example of why not to build your own greenfield e-commerce solution for your B2C idea. They were a "a New York based fashion retail startup that served consumers in South Asian countries to shop from luxury western brands" so it's entirely unclear why their own in-house e-commerce platform would be anywhere near enough of a value-add to be worth the investment.
Skimming the code it looks like mostly an overengineered CRUD/SPA with a lot of non-DRY code, possibly some security issues, and no obvious major game changer that would have made it worth building in the first place. And building it would drastically slow down ability to iterate on the actual business proposition of selling stuff, down to e.g. the HTML for customer emails hard-coded into JavaScript.
I sorta see this as the inverse of the no technical founder problem - it's the solely technical founder problem, where you're supposed to be focused on selling luxury fashion to South Asian consumers but that's boring and you'd rather be a cool startup writing your own e-commerce app using "MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis", etc. Like seeing a nail and deciding to build a hammer factory from scratch to supply yourself with a single hammer.
There are companies doing millions of dollars per day in sales on Shopify or similar platforms. You should at least be at a significant fraction of that or doing something extremely weird before you consider DIY.
I skimmed through the code. I share the sentiments from most people here that it lacks tests. But it does look like a lot of startup code I have seen before.
On a side note, I noticed that you and your co-founders may be on H1-Bs , seems like you are working for Accenture - which hires a lot of H1Bs. If you are, be careful. Depending on your situation, you may not be able to own a business in the US. Most worrying part is the premium support you are trying to start may be seen as consulting. Specially advertising this, USCIS may find what you are doing on an H1B just by doing a web search on you. If you guys are not on H1Bs, then please disregard my comment.
So, not only did it not make enough money for the business to run, you decided to support it for forever for free as open source?
I suppose you can just ignore every issue and problem and security vulnerability that comes up in the future, or hope that contributors decide to fix things for you. Or spend countless hours of your own valuable time updating the system for some kind of mental satisfaction?
I love open source, I use open source, I like that this is open source, but I can't understand why people actually open source things.
Note, however, that this MIT licensed code includes https://github.com/Viveckh/Veniqa/blob/develop/website/js/isotope.min.js, which is dual licensed under GPLv3 and commercial. There may be other such components as well. So tread carefully if you'd like to use this for anything practical without having to disclose the entirety of your source code.
Hey - sorry your startup didn't work out. If you decide to try again, I'm sure it will be easier :)
And thanks for open sourcing your tech! I see some legitimate critiques in the comments here - "it's not production-ready but you claim it is", "you shouldn't have built your own e-commerce solution" -- but even if no one uses your open source project, people can learn from it.
Thank you so much, everyone, for your feedback! Appreciate the encouragement and constructive criticisms equally. We understand and share the shortcomings you mentioned as well. As one of the co-founders and the key person to take the blame, I wanted to answer some of the common concerns and admit our weaknesses as well.
Why build your own platform instead of Woocommerce/Shopify?
The countries we were targeting in south Asia were countries like Nepal and Bangladesh where debit card purchases aren't really a thing. Most of the transactions are still in cash, bank transfers that require using local payment gateways or locally popular app-based transfers (which resemble Venmo and Square Cash in the US). And also, we needed to use a combination of shipping services since worldwide shippers like UPS and FedEx don't ship to the doorsteps in these countries since home addresses aren't easily GPS-able due to organization issues. Some of us grew up in these countries, so we've experienced this personally. These were just some of the custom situations which wouldn't have been addressed while using Woocommerce or Shopify. So we decided to build our own platform to customize it as per our unique needs as we go.
Licensing
We would appreciate feedback on this very much. We went with MIT License since that seemed to be the only one that allowed people to use it without much restrictions. I admit I didn't spend much time on this, but now looking at all the forks and engagement, it is something that needs refinement for sure.
Shortcomings in the tech and tests
There is a fair share of shortcomings which we are aware of - like missing tests and antipatterns. We wanted to get the initial version to the market quick, so a good portion of the work was rushed. We're working towards addressing these issues now, since we never thought someday Veniqa would be open-sourced and others might end up adopting it. Also, the engineering team for 80% of the build was just two of us, and we had a third member join us after. With regular full time engineering jobs during the day, the only way to finish building Veniqa was through caffeine powered insanity of 15 hr coding marathons during nights, weekends and vacations.
Future Plans, Contributions and Developer Documentation
We are currently in the process of building test suites, docker images and writing extensive documentation to speed up startup time. Hopefully, so we can encourage code contribution from other smart fellow engineers like yourselves. Also, there are areas like shipping where the logic is heavily geared towards fitting our custom needs, we are looking to generalize that. In general, we aren't aiming Veniqa at people for whom Shopify or Woocommerce gets the job done. It is for the engineers or bedroom startups who have custom needs due to the nature of the business or want to use it as a baseline to speed up rapid development.
Any github issues, code contributions are all greatly appreciated.
I have detailed some of the lessons I learned in the process in this article.
https://medium.com/swlh/why-my-startup-never-went-live-despite-a-production-ready-tech-55d344c0c057