Corollary: personal website ASAP shamelessly pimping yourself. With contact info all over it.
Other people are doing what you want to do. They need help, and if they know you exist you might get some overflow work from them.
Phil
1. The reason I suggested that you put contact information in your HN profile is because I am a possible person who would give you actual money to do some web tasks. There are probably other readers on HN who would be in a similar position. There are diamonds lying at your feet right now. (Shamelessly stolen literary device, yeah. So sue me.) Wave the flag. Don't be anonymous. (That for instance is why I use my real name as my handle everywhere I go, like Twitter, Skype, etc. I want people to find me.)
2. As for the "get a job, don't freelance" suggestions, they're all valid. Ignore them anyway. I'll give you two reasons.
(a) The most important technical skill you will ever develop is your ability to look at a person and demand a large amount of money for your services. Without giggling. Go practice in the mirror: "That will be $20,000." I am dead serious. The world belongs to people who can ask for money, then deliver as promised. If you can do this, you will own your own life. Otherwise, you are owned by someone else. If your life is important to you, start now to develop the skill of selling and then delivering. Vastly more important than the technical skills. You can buy those (from other freelancers, heh).
(b) This is HN, FFS! HN is about startups. What could be more startup that someone like you, standing, facing the world, thinking "I think I can do this" and giving it a shot. You can fail utterly. Doesn't matter. If you have a pilot light within your soul that says "I could do this" then you must do it or end up an old man with "what if?" regrets. This is your life. I think you might have that pilot light burning in your soul. A person with pure employee mentality (rather than entrepreneur mentality) simply would not have raised the possibility that you raised.
3. OK. Advice from someone who has been there, done that may not be enough. [Item 2]. The threat of real money in return for real work might. [Item 1]. Post your contact info in your HN profile.
/Phil
Regarding 2(a): This is so true! A summer back when, I was working at a computer repair shop, I was continuously baffled at the amount of money people would drop to have someone upgrade their RAM or reinstall their operating system. I felt almost guilty of theft when I had to charge someone hundreds of dollars for work that took me 30 minutes. I definitely need practice in correctly valuing my work so that I don't undervalue it to clients.
The main reason I want to do freelance web development right now is so that I can get some true working experience before college and because I really do have a passion web development. For me its fun and educational; getting paid to do it would really be the cherry on top. I don't really care, at this point, if its scalable or profitable in the long term.
Thanks again!
After a few of these you have a portfolio. This puts you in a position for paid work. However, your best bet is to first work for a professional web dev company - either as a contractor or full/part-time employee or intern. You'll learn best practices from experienced professionals. It's hard to really learn the trade on your own.
Second, doing freelance web development or design for client s, while good for practice, isn't really scalable - you might get to re-use some designs and code, but most of the time it's doing the same work over and over. Better to build an application that you can resell to many clients. For example, if you do a booking application for a hotel, think of how you can generalize it to sell to lots of hotels.
Also, I'm not sure I would want to be doing freelance web development while in high school. I assume you are living with your parents and everything is paid for. This would be a good time to to continue improving on your skills, setup a home for your future business, establish your networks and possibly put some work in the open source world. Soon enough you will have real bills and much less time to do things like this, so take advantage of the opportunity while it's there.
I'm also not sure I would want to be doing freelance web development while in college. Again, this is a business. Essentially you are creating your own startup. Freelance work can be stressful and difficult to manage for a full timer with experience, let alone a part-timer just getting started. You need to save your sanity and focus for college if that's your plan. Again, I would suggest if at all possible to get an internship or part-time job doing web development while in college.
Otherwise, I can't give much more advice because you left out a lot of big details. For example, web development is a wide open term. There are a lot of niche areas of development you can get into. Most broadly, you are looking at being a designer or a programmer. What skills do you already have?
No matter what route you choose, your most important skills aren't going to be your technical skills, but rather your people skills. You need to be able to give your clients the warm and fuzzies. You need to be a good communicator. Perhaps most important is that you need to be a good salesman. If you are just average with your tech skills but genius on the people side (including selling) then you will be fine. Being good with sales and savvy with business in general might be the difference between one average developer getting away with charging double or more the rates of an excellent developer who isn't good in this are.
So, personally, I would concentrate on school and look for a job doing web development rather than freelancing. But that's not how I started. I went against all my advice here and ended up fine. If you did the same you will probably be fine also. Good luck either way.
If you're lucky you'll get to mess with a lot of new technology, and even meet some really cool clients, but sooner or later you're going to meet your nightmare client who burns up the profit you made on five good clients. If you're not careful, bad clients can drive out good clients and before you know it...
The industry is particularly impacted by people, who, as you're planning to do, will do work free or cheap. This puts the larger operations that are more responsible (offer health insurance, have a variety of experienced people with various specialties, always have somebody around even when some individual takes vacations, etc.) under a lot of pressure.
You're better off working on one or two big things than working on a bunch of small things that will distract you all over the place. I wouldn't go back to making web sites for small businesses even if it meant I'd starve to death or have to make my living selling aluminum siding or something.
Getting worthy non profit clients to act as guinea pigs may be a tough row to hoe (if you're not using "pro bono" as a synonym for "unpaid").
A common way to extend a portfolio through unpaid work, is to build something for yourself...e.g. using your company's website as an example of your web development skill.
My advice is never to take commercial work for free.
First, you're running a business.
Second, word of mouth recommendations will include your price. When your proposal includes getting paid, you will have already failed to meet the potential client's expectations.
Third, when you are not getting paid to help someone make money, it is harder to have the dedication required for excellence.