I haven't read Getting Real but I would ask yourself whether your problem is competition or getting noticed.
If your market is quite crowded and people are making direct comparisons with your competitor, I would suggest taking the distinct advantages you offer, and making them your main selling points (the ones that really really resonate with your customers). Whether its design, UI, features, or some other mix, you want pick an area and fight for it. Losing in other areas is OK but the main focus is winning in your area and winning big.
If your issue is getting noticed, your strategy will be slightly different. It's no longer an issue of competition but one of customers not knowing about you product or service. In this case, I suggest reaching out to blogs, forums, and experts in the field. If you have a nice spin to your product or have something interesting to say, go can sell your story to the media.
If your issue is a bit of both, well, you will need to do a bit of both of the above.
If you are close to finishing, you might as well launch.
Competition means other people see an opportunity in your market too.
Who knows what the results will be? Maybe customers will resonate with your product. Maybe your product can be differentiated by better performance, better usability, or better service. Maybe customer feedback will lead to a pivot. Or maybe your site will lead to other opportunities.
The point is you are almost there. Make the jump and don't look back. If you haven't launched products in the past, the experience alone will be worth it.
If you feel like you're close to product/market fit or if your runway is short on your startup, you might want to continue the way you've been doing things.
On the other hand, as a self-taught programmer, I imagine there are a lot of skills that you can improve on. The danger of writing spaghetti code is you can't reuse it, and if you continue to write spaghetti code, it be becomes a habit. In the long term, your best investment is in yourself. Time spent on getting good at your craft may help you to get your product to market faster.
Also think about how much time you expect to use on revising/debugging old code. If you expect to extend or build on top your code, it is usually worth spending time revising it. I like to believe there are different degrees in quality for code. Spend more time on more vital or core components and less on others.
I haven't watched all of those RSA videos but I've seen quite a few. It's amazing how every one I have seen is outlandish propaganda that it seems no one would fall for, yet I stand completely alone in this viewpoint.
I find exercizing regularly helps with cravings. After a good workout, I usually crave healthier foods. If you have trouble keeping an exersize routine, find an accoutability partner to keep you on track. Joining programs and using social commitments works well. Keeping physically active is much easier when you are doing it with friends, family, and coworkers.
You can also try eatting meals or snacks more often. Your energy level will be more consistent and you will less inclined to eating foods that give you that quick sugar boost. Keep those healthy snacks visible and within arms reach to make this easier
The biggest thing I've learned over the years is to take into account different perspectives in any sort of situation. Whether it is conflict resolution or negotiations, you open up possibilities when you look at things in someone else's shoes. This also works great in problem solving. When I get stuck on a problem, I think about how a person admire might tackle the problem.
If your market is quite crowded and people are making direct comparisons with your competitor, I would suggest taking the distinct advantages you offer, and making them your main selling points (the ones that really really resonate with your customers). Whether its design, UI, features, or some other mix, you want pick an area and fight for it. Losing in other areas is OK but the main focus is winning in your area and winning big.
If your issue is getting noticed, your strategy will be slightly different. It's no longer an issue of competition but one of customers not knowing about you product or service. In this case, I suggest reaching out to blogs, forums, and experts in the field. If you have a nice spin to your product or have something interesting to say, go can sell your story to the media.
If your issue is a bit of both, well, you will need to do a bit of both of the above.