Freelancers, I will share with you, a great idea how to win freelance projects. I have used it for over one year and I can definitely say that it works wonderful for me.
Instead of offering to work for free to build your portfolio as freelancer, choose a website similar in nature to the type your prospective customer wants to build, and develop a written plan for improving it. (Yes, you'll have to have some conversations with them FIRST to determine what they want and need.) Use the site as an example of the type of site you think they need. Do NOT present the site as your own work, unless it IS your own work, but DO use your "superior knowledge of how the web works" to show them several ways that THEIR site will be better. Even more powerful is to look at one of their competitor's sites that seems to have similar goals and objectives, and show them how they will be better than their competitor.
Freelancers, you can comment it and share your own tips and ideas about how to win freelance jobs and projects and how to stay ahead of your competitors.