27 ms·
My Startup Failed, So We Open-Sourced the Tech
- dpcan 7y agoSo, 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.
- microcolonel 7y agoWho said they'd support it?
- deleted 7y ago[deleted]
- vxNsr 7y agoIf you read the page you’ll they actually do offer a support package for enterprise.
- atymic 7y agoOpen sourcing your code in no way means you have to maintain it. Anyone can fork the repo & add their own features/fix issues. If you want them to make changes, they seem to have their development services on offer.
- martini333 7y agocool, I guess. But why would anyone use this?
- atymic 7y agoEven if it's not usable for other, it could be a great resource as an example MEVN stack app for newer developers to learn from. Props to you guys for open sourcing it!
- PretzelFisch 7y agoHow would someone judge the code quality and architecture to say this repository is a good example and how? Wouldn't the general tutorial and training material be a better source then a startups ship it now code base?
- Jaygles 7y agoThe code itself doesn't have to be good to be a good example. One thing the average tutorial doesn't have is complexity. Picking apart how this code handles complexity could be a good lesson to people who are trying to learn how to architect good sized projects.
- dfcowell 7y agoOnly if the reader is discerning enough to notice when they’re looking at a bad implementation. Otherwise there’s a risk of learning bad practices.
- dfcowell 7y agoUnfortunately the repo has some truly awful antipatterns. The catalog service is a masterclass in how not to write Node.
- anonytrary 7y agoI think the controller/service abstractions are completely unnecessary and cause unwanted indirection. Otherwise, this looks like a typical CRUD service -- with custom logging, database model schemas, authentication, and routes that utilize all of the above.
- lioeters 7y agoSummary: Full-stack e-commerce solution, built using MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis, Sendgrid, Nodemailer (for fallback), Stripe. Repo: https://github.com/Viveckh/Veniqa https://github.com/Viveckh/Veniqa Thank you for sharing the work, will enjoy studying it!
- woutr_be 7y agoI agree, I might not use it, but it's a good example of a real world product that I can learn from. Quite often when I'm stuck on something, I look for OSS to see how they've done that particular thing.
- keytarsolo 7y agoI especially like to compare with complete solutions like this repo. Because sometimes I'm stuck in a rut and looking in the wrong layer. Even if I don't end up using their solution reading through an open source project is, for me, a great way to think about the problem without all the pre-conceived notions I have regarding my existing code base.
- rochak 7y agoExactly how I felt when I read read this post.
- bkberry352 7y agoSo in buzzwords: a SaaS pivot
- threeseed 7y agoIn what way is this is a SaaS pivot ? They aren't selling software. And they aren't selling subscriptions. All they are offering is professional support.
- themgt 7y agoNot 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.
- taytus 7y ago>Not to be a jerk, but Then don't.
- marcinzm 7y agoTo me his comment wasn't being a jerk at all.
- sumedh 7y agoSometimes people need to listen to some honest feedback without any BS.
- wizardforhire 7y agoUnfortunately for the company in question and all those that will surely come after is that advice and more importantly the humility to hear that advice came too late. ~sigh
- m0zg 7y agoNote, however, that this MIT licensed code includes https://github.com/Viveckh/Veniqa/blob/develop/website/js/isotope.min.js https://github.com/Viveckh/Veniqa/blob/develop/website/js/is..., 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.
- klyrs 7y agoThis should be the top comment... perhaps you could raise the issue on github?
- ozfive 7y agoThis is the most concise reason why not to use this code. The rest are complaining about the code quality rather than the implications of the licensing issues here.
- m0zg 7y agoIt's quite OK to use, if you do a review, identify all problematic dependencies, and license them under more "commercially friendly" licenses, or replace them with something else. I do advise to be very careful about such things, and spend the effort to figure out the legal obligations that stem from transitive deps though. Not just for this project either, for _any_ project.
- ryukafalz 7y agoOr, you know, if you’re okay with the GPL. :) But agreed, you need to be aware of the license obligations of any code you use.
- m0zg 7y agoWhat I wanted to point out is that just because software X is licensed under MIT or BSD or Apache 2.0, doesn't mean that all of its dependencies are, and therefore, that it's _only_ licensed under those licenses. I have observed several times in the wild people not understanding or appreciating the meaning of this crucial difference. That's a recipe for much regret later on when you think you can keep your trade secrets, and you legally can't.
- wilsonfiifi 7y agoA more in depth analysis as to why the startup “failed” can be read here [0]. Thanks for your contribution to open source Viveck and good luck with your various projects. [0] https://medium.com/swlh/why-my-startup-never-went-live-despite-a-production-ready-tech-55d344c0c057 https://medium.com/swlh/why-my-startup-never-went-live-despi...
- kevindong 7y ago> We had a production-ready suite of apps built from the ground up over the past few months, but as we got closer to launch, the incompetent work from other teams started to become painfully evident to proceed any further. Claiming that software that never saw any real production traffic is "production-ready" is a bold claim to say the least. I dug into the code base and there doesn't appear to be _any_ tests. I really hope no one actually uses this application for anything real. I will say that the code does appear to look clean. But validating its functionality is a mammoth task that probably isn't worth doing when existing marketplaces/hosted stores already exist that undoubtedly do it better. The author also doesn't seem to have any qualms about burning bridges either.
- ARandomerDude 7y agoYeah the tone of that entire article struck me as very arrogant. Even "small" things like "my engineers" -- I don't think I'd want to work with this person.
- ozfive 7y agoYou obviously don't understand your position in the economy then. As an engineer you are a comodity. As much as you would like to deny this fact you still are. Why do you think that you make a salary and the companies make hundreds of millions or billions!?!?! The tone of your comment struc me as very arrogant.
- ozfive 7y agoKeep downvoting. You tools are creating a feedback loop algorithm without writing a line of code and yet you complain about this very thing. Hacker News is dead for constructive debate. Instead of responding you cower behind a downvote. Damn, seriously!?!?
- benatkin 7y agoI haven't tried running it yet, but it looks like pretty good code! It's modular and based on a stack that a lot of JavaScript developers want to use. It makes sense that there is a lot of skepticism in this thread. Most startup code is either solving too narrow of a problem or too messy to be useful when the startup is shut down. This appears to be neither.
- ozfive 7y agoI see a bunch of wannabe open-source proponents complaining about code quality and doing nothing to fix the code quality itself. Complain all you want, but it does nothing to promote open source. You all have some introspective contemplation to do about how you conduct yourself as developers.
- detaro 7y agoCode being open-source does not magically create a community or magically provides an incentive of working on it.
- ozfive 7y agoNo it seems as though it just creates a bunch of complaining developers. This plays into another blog post that went viral on hacker news about why the interviewing practice is broken. Engineers who can't even engineer a proper interviewing process that doesn't nullify 99% of candidates and companies complain why they can't find good candidates. At least in the aerospace community the older Generation was willing to take on people who didn't know best practices and apprentice them. This is why hiring in software is broken. A bunch of people that don't actually want to be stewards of the craft.
- speedplane 7y ago> This is why hiring in software is broken. A bunch of people that don't actually want to be stewards of the craft. I've hired a few developers and have found you can turn a inexperienced but relatively bright developer into a competent one with sufficient time and training. In my experience, this usually takes at least one year, and roughly one or two months of a manager/mentor's time. An experienced super-star can become productive within a month, requires just a few days of the manager's time, and can easily be >3X more productive than the merely competent engineer. The problem is that it's almost impossible to identify most super-stars, and the obvious super-stars command super-star salaries (although generally less than the 3X productivity gain). Creating a company that relies on training competent programmers may be less efficient than one that seeks out super-stars, but it's still a proven and workable model, with added benefits of higher employee loyalty and work-force stability.
- ozfive 7y agoShame, shame, shame, on every detractor to open source here. The code may be crappy but at least someone released code to the public and they get to learn from it. Why don't you all write a blog post on the intricacies of how shitty this code is so that future developers can learn what not to do. Your negative responses are shameful. And you won't do a write-up since you are a lazy to begin with!
- kevindong 7y agoThere's nothing wrong with open sourcing bad code---we do live in a free world after all. But much like they were free to open source it, I'm free to critique it, not use it, and not support it. It's just striking that the team behind the project calls their code "production-ready" despite it objectively not being true. Furthermore, they have the audacity to try charging for a support contract for what is undeniably going to be buggy code. Albeit I suppose it's still admirable they open sourced their code at all.
- catoc 7y ago> "... it's a free world, I'm free to critique it" He didn't say you're not free to critique it. He asked that if you do, critique it in a useful way: don't just shame it, but instead articulate what exactly sucks and how it could be done better. If you failed and are brave enough to show your failure to the world, let's appreciate that and learn from it, not bash it so that afterwards no one dares releasing anything anymore (not saying you did this, just explaining his point). Kudos for opensourcing!
- matz1 7y agoPeople are free to shame it too.
- deleted 7y ago[deleted]
- mixmastamyk 7y ago
- vindows18 7y agoWhy the OSS framework itself can not be a product? A saas alternative to shopify.
- veeralpatel979 7y agoHey - 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.
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- sibeliuss 7y agoThat is some high-quality code (minus the lack of tests). Nice job!
- PetahNZ 7y agoAm I missing something, from the 10 minutes I spent poking around this is mediocre at best.
- sibeliuss 7y agoI'm not sure what codebases you've worked on, but this is hardly "mediocre" in any sense of the word. It's highly organized, consistent and modular. The toolchain is modern and set up well. The code is easy to read. There are folks the world over that would find working in this codebase a joy, and would be able to easily jump in and start contributing at any level of the stack.
- sverhagen 7y agoMaybe it's very readable, but in some circles production code with no tests is considered per definition low quality. Or: if there's no tests, the code "doesn't exist".
- PetahNZ 7y agoWhat about the myriad of try catch console.log. With the statement in the readme "Database & file-based logging" unless they are overriding console, then I don't even know what they mean. https://github.com/Viveckh/Veniqa/search?q=console.log&unscoped_q=console.log https://github.com/Viveckh/Veniqa/search?q=console.log&unsco...
- greatmango 7y agolet me guess - the people in those circles work for either already-profitable companies or companies flush with venture capital, rather than a company trying to get off the ground before it runs out of money?
- 7y ago
- Edmond 7y agoMaybe you should regroup and try to make this your next startup? As alluded to by some of the comments, this was probably a misguided effort for the original startup but could be worth pursuing by itself. I believe this is how the likes of Slack, twitter and a number of other companies came to be.
- echelon 7y agoTwitter was a pivot? How have I never heard that? What was their original product? Edit: Wow, so I missed this whole story: https://www.fastcompany.com/1837848/insiders-history-how-podcasting-startup-pivoted-become-twitter https://www.fastcompany.com/1837848/insiders-history-how-pod...
- tnolet 7y agoWhy did you guys build your own e-commerce stack?
- deleted 7y ago[deleted]
- tarkin2 7y agoThe thread is a case study in why not to open source your code: belittling feedback that serves little purpose other than to make the commenter feel good about themselves.
- hnarn 7y agoNo good deed shall go unpunished
- emidln 7y agoAs a Dev, I don't care that the world sees my house is a mess if it means I don't have to rewrite some random component library or utility library again.
- boomboomsubban 7y agoThis feedback came from advertising their code, not open sourcing it. Posting it here with this title is asking for opinions on it.
- tarkin2 7y agoConstructive feedback useful. There are a few posts on here which are constructive. Point out some code you dislike? Okay, good. Comment on the general structure of the code. Okay, good. I know software devs, myself included, are often too abrasive and forget social niceties. But far too many replies here are closer to insults, without even a vague intention to be constructive.
- boomboomsubban 7y agoI'm not defending the comments made here, but they aren't a byproduct of open sourcing the code.
- supermatt 7y agoTo OP: ignore the haters. They are happy to use closed source software and services with no way for them to verify the products live up to their high standards - they even mindlessly agree to those corporations terms indemnifying them from poor quality code and infrastructure. Additionally, many hugely successful open source products started off with less-than-ideal codebases. The haters dont realise this because they arent interested in contributing anything - they just wait until everyone else does the hard work, and then adopt the product as their own. Thanks for open sourcing something you spent the time to create. There are many who appreciate the time, cost and effort that takes.
- jitendrac 7y agoThanks for sharing, Personally, I don't find myself using it if I do e-comerrce stuff,but It is really good head-start for someone who want to learn how things work in real. And best of luck for any future work.
- VvR-Ox 7y agoThank you for sharing this with us and good luck with your next idea!
- ada1981 7y ago🇺🇳 I really support the meme of open-sourcing code / projects that fail. Thanks for taking the time to do this. Is there a directory of now public domain code / IP from dead start ups? 🇺🇳
- SahAssar 7y agoWhy the UN flags at the start and end of your comment?
- ada1981 7y agoAbout every 12 months I like to see if some emojis are still allowed on HN.
- chrismcb 7y agoThis code isn't in public domain. It is open sourced and has a license.
- ada1981 7y agoGood point. I’m curious about open source / public domain projects that started as funded projects.
- Conan_Kudo 7y agoThank you for doing the awesome thing and making your stack Free Software. It would have been great if your startup had succeeded and you did this, but it's great that you did it nonetheless. :) I don't personally like doing much JavaScript/Nodejs development, but it'll be interesting diving into what it looks like for something like this...
- rubyfan 7y agoIs there any notes on the business model, what worked, what didn’t, etc? I often wish there were more public post mortem on business models. Sharing the code is fantastic and I applaud you for it.
- amoitnga 7y agohttps://medium.com/swlh/why-my-startup-never-went-live-despite-a-production-ready-tech-55d344c0c057 https://medium.com/swlh/why-my-startup-never-went-live-despi...
- speedplane 7y ago> Is there any notes on the business model, what worked, what didn’t, etc? I'm skeptical of most of these post-mortems. They are generally written by the founders themselves, and therefore have a built-in bias to shift blame to external forces rather than unforced errors or a lack of understanding the product/market fit. Further, it's likely the founders probably don't know the true reasons why they failed because if they did, they could probably fix them. That said, they do make for interesting reads, especially when read side-by-side with a similar company that did well.
- mighty_bander 7y agoThanks, my friend! Hopefully people will run with it.
- 737min 7y agoIt is wonderful you were able and willing to opensource the IP after the startup didn’t succeed. More founders should try to do that and plan for it when raising financing - including in investor rights documents or the company’s charter.
- asdf333 7y agohey man. you did great. you have it a shot. it didn’t work out. at least you’ll never wonder “what if i tried to do a startup” you only live once. cheers. hold your head up high and ignore the armchair critics
- Viveckh 7y agoThank 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 https://medium.com/swlh/why-my-startup-never-went-live-despi...
- throwaway536273 7y agoI 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.
- freelancercv 7y agoWhat was the reason not to choose open source eCommerce CMS like woo-commerce, opencart which have proven ground records?