
Can someone relate to this? π
Re-writing a validated product with customers. First release I tried to be "as fast as possible, using the tools I know now" but in the long run it got harder and harder to maintain, to the point "I either do it from scratch, using better tools and methods, or I stop doing it". So excited how it is coming along and can't wait to release it but I can't also stop but to think of this scene from Brave Hearth movie.
Damn, hit me right in the feels.
It's a fallacy to say that scaling/product problems won't be an issue sooner than later.
Technical debt is a very real thing, even for very-small startups.
My guy, I've been making the first MVP of Jamfony solo with little proof of concept and no existing user base outside of beta testers. I've been non-stop coding for the past three months (even at 9:51 pm sitting in a train back from Berlin) and I'm just hoping i will see at least something stick to the wall. Fingers crossed π€
Good luck! From my experience, until you have something out there, it's crazy work! Not only work but you tend to think about it all the time, as you are really excited about it, which is good but also tiring. If I can provide some advice, it would be this: make sure you stick with the minimum features that allow you to get coins from your (potential) customers. Keep the others on the roadmap. Iterating on something that's out there already feels much better, "stress-wise" π
Definitely can relate.
Why it got hard to maintain? Any specific tech/tools choices?
As an hardware engineer, I was used to write code in C/C++ and Python. So those were the tools, no web stack. I wrote it mostly with Qt, a C++ GUI framework.
Hey, I've looked favorably at Qt, it looks good. Can you share your experience with that a bit? Is it a good developer experience? Does it seem like a good choice to build on? For MVP and/or long-term scalability/maintainability? Was the cross-platform capability a big feature for you, and did it work well?
I see that you're re-writing... what tech stack did you choose, and why?
(lots of questions I know, I hope you can share answers to any of them)
FYI I'm coming from self-taught javascript web stack skills, with enough Python experience to know I could work well in that language, but still intimidated by the older OOP languages like C++ and Java.
The best programming language / tools ? It really depends on the project. Qt is awesome. It's performant and has a fairly good ecosystem. Being cross-platform is definitely a plus. It's used by Adobe, to create UIs that are used in helicopters and medical devices. To create a web app or an app that's tightly coupled to the internet? No so much (AFAIK). The project I'm working on fits the second use case, and that's why the shift.
I can write a more in-depth post about some technical decisions later, but to give you an example I've used Vue for the website and React for the app. The app is way more complex than the website. I prefer Vue as it has better DX to me, but React has way more (quality) stuff already done (much bigger ecosystem) which saves me a lot of time in the end.
For AI/machine learning projects you might want to pick Python and C++ (maybe Go lang as well?), once again because of the ecosystem and performance reasons.
Thanks for the response! I appreciate it. That's good to know about Qt, I'd gotten really excited when I found it this spring. I didn't see anything to indicate it wasn't a good choice for web app; what led you to that conclusion?
I've done some basic React courses, like 3-4 years ago, and have definitely preferred Vue for DX. But even more, this past year I've been loving Svelte, and am building with that primarily now. Just trying to settle on what I use for DB, as I have limited experience on backend. The apps I'm working on will generally need a graph-native DB, and I'm still exploring options, though I see a lot of support for Fauna here, and their free tier looks generous.
I can definitely relate. I deliberately kept my newsletter/writing community Blogging Guide quiet in the first few months. It was tough to know I was potentially forgoing subscribers in the short run, but I think it worked out for the best.
I was worried that several writers who constantly copy/produce very similar content to mine on Medium would follow suit, and sure enough they did.
But by testing in stealth mode, I thwarted them from gaining ground on my new newsletter strategy.
That said, I was not toally in stealth mode. I just never publicized the project and didn't do any SEO/promotion for the first few months. It also helped that I was also cranking out so much content on Medium that people trying to rip off my content were preoccupied π
For people such as myself who are starting up for the first time, it is not easy to balance being stealthy and getting feedback from "real" people. While I agree that getting feedback from customers will certainly improve the product, it also exposes us to competition from FAANG (ref: https://hitstartup.com/faang-will-steal-my-idea/). I would like to know the opinion of some experienced folks here. :)
Are you still getting feedback from users while in 'stealth mode'? I made this mistake and learned the hard way a few times that I can't just 'build it and they will come'. Putting a large emphasis on building community from day 1 with Startup Sanctuary this time around.
I'm sadly turning down some potentially good customers that reach out asking if I support feature X and Y. And I understand those features are essential and I just can't provide them yet because of the tech stack limitations I chose in the first place. Some of them start using the product super excited just to end up frustrated quite soon. I currently don't advertise or market my current product because I don't want to get more people/companies getting frustrated so fast.
I'm confident, with the feedback I've been having, the re-write in stealth mode is the right thing to do, but obviously no one is ever 100% sure.
Thank you for the heads up!
Sounds interesting @rasgo and sounds like you are doing all the best practises by taking on feedback from people who are already trying out the product. Best of luck with the re-write in stealth mode and please be sure to share what you've built when it's ready :)
Can't you release in small steps?
Say, creating new features with better tools and migrating little-by-little?
Not in this case... I would have to do some big changes, the tech I was using is not the best for what I want to accomplish (ie it would require way more work, time and code compared to what I'm using now). I had to turn down quite a few customers already, and potentially good ones (established companies) for not supporting some of those features and data models. So instead of spending time on code/tools that will still be not the best for the job, I figured I would re-write it using more appropriate tools. In the end it should take the same/maybe a bit more time, but in the (not so long) run it should be very worth it (fingers crossed) as I can keep on iterating on it and provide better support by spending way less time and having a better product.
As a matter of fact, the stack I was using (and still use for maintenance) was based on C++ (Qt) while now I'm using a proper web stack.
That's the key sentence there, stealth doesn't mean one should not validate their product.
Are your customers using the original version in the mean time? How difficult will it be to transfer them to the new version?
I wish you well but when I hear you are rebuilding from scratch I am sad. That is almost never the right answer. Anyways, good luck.
I totally understand that. But I'm pretty sure if you saw the C++/Qt code base you'd want to ditch it as well. Specially knowing what requirements the app has, working with a web stack feels like a breeze!