Hi, there.

First of all, I'm sure that the many people using your open source software are thankful for the fact you produced it and are maintaining it. It takes skills first to notice a problem, then solve it.

Perhaps you can contact the people who are using this software and turn them into a business. You have a fit and it could possibly be fulfilling and lucrative. If you want to discuss this further, let's, but first I'll reply to your main issue.

I'm sure that during the countless days you've spent on these projects, several things sometimes happen. Maybe when you push code there's an error, perhaps your internet connection broke; perhaps there was a typo in your command; perhaps there was a snafu with your SSH keys; perhaps; perhaps.

In other words, there is a gap between your desired state and your actual state. You'll consider this gap an error and set to pinpoint the factors at play, and take action and measures remove it. When you can't, you're faced with the definition of a problem. You then systematically iterate and experiment to solve that problem, i.e: figure out how to get from an actual state to the desired state.

Your message here is one step to solve your problem.

One other step is to amortize the cost you paid and have some return. There is no point in an experiment from which you get no data. You applied and your application was declined, you might as well get a return and ask for data/feedback.

For example, writing here has allowed me to notice something, and my initial remark is that improving your writing will certainly help.

You can for example ask politely the companies you applied at for feedback: real reasons and and advice from everyone involved in the decision. If they're uncomfortable or don't have the time sending you an email (these take a lot of time is they are by definition specific to the candidate and can span multiple pages involving every aspect with resources and links and pointers), you can ask for a quick phone call.

Get data from your experiment.

Second, this is a numbers + approach task.

When you are working to succeed at something, your outcome is proportional to the number of experiments/attempts/trials, the data you get, and the tweaks you operate on your system.

This is similar to selling things. You attempt to sell, it doesn't work, you try again, it doesn't work, perhaps you slightly change the people you try to sell to, perhaps you change your pitch, perhaps you paint the product in an appropriate light, perhaps you change the product.

You try something, you look at the output, you try again with another company with the same approach, or you tweak your approach. But you have to get data.

Iteration number, iteration time/effort. But you have to get data.

You can't successfully cook something in an oven if you don't have information on the temperature and set it, and don't look at the timer, and don't even know what you put in the oven to cook in the first place.

So, experiment and get data.

Third: you don't have a job for now, so looking for a job is your job now. It is a part-time job given that you are a student, your main job and you have other obligations, but be systematic and consistent about it. Every day, block one or two hours to apply for jobs. Nothing else. And do it in that block of time, not sporadically or randomly or whimsically throughout the day.

Then get data and tweak.

Let's talk next week and let me know how it goes. My contact information is in my profile.