Its very tough to keep doing the same things if you keep losing. Conversely, you'll have no problem finding the energy to do hard things when you're winning.
Comparing yourself to others (those SpaceX/Tesla/Uber engineers) is not a productive thought; those people have failings and frustrations too. Don't fantasize that you would be so much happier if you could do those things - its not necessarily true.
You probably still love programming, design, marketing, whatever. Find the smallest, easiest win you can get right now and put it in your pocket. Maybe thats as simple as following a 1 hour tutorial on coding something you wanted to learn about. Or maybe its designing something in Photoshop that you thought would be cool. Whatever it is, keep the commitment short, and you'll feel better by the end of it.
You have a lot of time to be successful, accept that it might not come so soon. In the meantime, maybe try to live a normal life, you can always work on side projects on evenings and weekends. Expand your life experiences, eventually a great idea will come to you.