What's helped me in my freelancing/consulting journey more than anything else has been building one on one relationships (aka, networking). The more people you know who know what you do, the more opportunities you'll have come your way. Some call it Luck Surface Area.
Join a paid online community of other consultants. Go to meetups around your city. If someone wants to learn programming take them out for coffee. Go to networking events. Give talks in public. Anything that will introduce you to other humans. Then keep track of all of them in a CRM. Follow up with people and provide as much value to them as you can. Participate in Hacker News (this post is increasing the number of people you might meet!). Put it on your Github/Twitter/Website etc.
Ways I've gotten gigs lately:
* Person from my online freelancer community I'd talk with multiple times was working on a project and they needed help, brought me on, now I'm getting more work from that client.
* Someone from college I hadn't talked to in 8 years saw my LinkedIn profile and contacted me about a project for their company.
* Someone saw a comment on HN about my work and reached out to me.
* College student wanted advice on freelancing, I took them out for coffee, 3 months later "I decided not to freelance but I found a client, do you want them?"
* Sitting in a coworking space and person I met yesterday and told about my business says, "I'm getting a full time job, want this client?"
None of these have had to really come from direct "selling" and all of them came to me which in my experience makes it way better since they already want and trust you. I don't even feel like I'm all that good at promoting myself, but I have work because I talk to people.
Happy to chat about this further if you want, my email's in my profile. Best of luck in your consulting!