Focus first on becoming a quality developer and after that jump in more serious gigs?
There’s nothing wrong with this. What’s wrong is a “$20 website.” That’s not a “small job,” it’s something you may-as-well-have done for free. Unless you did the whole thing (including design, coding, testing, purchasing the domain and hosting, and publishing) in under 22 minutes, it’s less than (US Federal) minimum wage.
Here, on my range of price there are tons of bad clients. They don’t provide enough information, want experts for 50$ bucks and it is really hard to choose a quality client in my position.
If you are worth anything, it’s at least minimum wage. Even an unstyled HTML document is worth more than minimum wage. To be honest, if you really can’t provide at least that level of service, then you shouldn’t be doing this for money at all.
Yes, it is true that there are lots of people who want everything for nothing. That’s their fault, not yours. Don’t enable them by taking them up on their offers.
Talk about how much time is involved in the process of design and coding. Ask your clients how awful the finished product must be if they hire someone who is only worth (their offer / hours of work). If they still decline, let them go. Say you’re sorry to hear it, but you’d be happy to speak with them again if they need your services in the future.
my main objective is to become a good developer. I know the serious money will come after that, but I’d like to build a solid reputation too.
Go practice instead. I know it feels counter-intuitive, but in most cases it really is better to get nothing than to work for not-enough. Any future business you might get from making your $50 client happy —be it future work or referrals— will come with that same price tag. Or quite possibly, less. So what’s the point of doing it? It’s a trap.
It’s easy to think “I’ll be worth more when I have more experience.” This is true. But ask anyone who has ever done business for themselves: the only way to significantly raise your rates is to drop all of your current clients and get new ones. Building a $50 reputation is not a good approach.