Another option would be to study the Design side of applications. For example, studying HTML and CSS with an eye towards being a designer.
I've found that good people with these skills are harder to find that people with programming experience. I think it's because most colleges seem to pass over the discipline entirely, leading to a bunch of professionally educated Software Engineers who can't put up a good website for themselves (which is a great skill to have, in my opinion, even if you aren't specifically designing a web app) or do any sort of UI design at all. This leads to a good niche for people who can help them put out beautiful front ends for their products.
I don't have any proof (never been a freelancer), but I feel like being a designer lends itself a little bit better to freelance work as well (which I assumed was what you meant by making it profitable). With design, you can free lance and control your number of clients carefully, which means control over your number of working hours. In order to have the same control and demand as a programming, I would think it would take a much heavier learning investment and some concrete proof that you can do the work (for example, a successful web app that you had previously created).
That being said, Coursera, EdX, and Udacity are all great online resources. I always have at least one free class going on through one of these at all times just for fun/learing.