All programmers, who end up doing it for money, go through 3 stages of growth.

Stage 1) they program to prove to themselves that they can.

Stage 2) they program to prove to others that they can.

Stage 3) they program for money.

You can't rush these stages, they happen organically, and each takes time.

It sounds to me like you're in Stage 2 - you're looking for external validation. Just knowing that can be helpful, because how you seek out that validation is important.

Firstly, and I want to stress this, Stage 1 and Stage 2 should be fun. If you're not giving fun, then stop for a bit. It'll help you keep perspective.

High school is likely more important right now. That's building block for the next step (college) and so is your "day job". All through your life you'll be balancing your day job with your fun. It's important to understand that the day job comes first. Do that well and the fun comes easily. Doing the day job badly always negatively detracts from the fun stuff.

Learning this balance is a huge part of growing up. Some never get it right. You're grappling either it now, and that's really good. Spend a bit of time getting the day job part right first. You'll find that once that part of your life is right, the fun part is a lot more fun (and a lot less stressful.)

Back to the validation part. Seeking the approval of others is part of the process (Stage 2). But be careful who you seem approval from. Ultimately you're forging your own path. Understand where that person is on their own path.

For example, even I was at university (back when dinosaurs roamed the earth) my peer group were all my age, and roughly of equal skill. We drove each other - each trying to do better than the others. We admired (and copied) each others work, but we didn't really tell them that. Indeed if anything there was a fair amount of self-promotion- jostling for position as it were. But simply being "there" was the validation we needed.

We didn't have the online thing, so there wasn't that need for online approval- we didn't get github stars, and the stuff we made wasn't "useful".

Part of what made this period fun was that we were well past Stage 1. We were all confident in our ability to program. There was no self doubt. Stage 1 people get very little attention from those in Stage 2.

Ideas will come thick and fast to you. Treat them like toys. Play with them until they're not fun anymore. I still get lots of ideas every day. Most are bad. I might get a couple good ones a month. But at your Stage you can play with an idea, get a feel for it, then move onto the next one.

The goal here is fun. If you're not having fun, there's no point. Equally you're learning about priorities- if the day-job-work is not done for the day, it robs you of the fun part.

In many ways I envy you. You have a long path in front, and at this point it could go anywhere. You don't need to have it figured out yet, there's lots of time for that.

And yeah I know, you probably envy me because I "made it" and I have it "all figured out". That's OK too. Just remember, you're not walking my path, or your heros path, you're walking your path. Relax in that. See the fun in that. Live your best life at each stage, and don't worry quite as much what everyone else thinks.

(After needlessly long monolog grey haired man exists stage-left and the snoring audience wakes up.)