Freelancing is not about having top-tier CS skills or being an amazing designer. Those help , but they aren't what gets you hired. Companies will hire you because You Are A Likeable Person That Gets Shit Done. Both of those things matter. If you have zero people skills, you will not close deals. And if you can't Get Shit Done, you will quickly poison your network, which is where the best jobs come from.
Nothing that slows me down more than being dumped in a awful code base, because the focus was "Get shit done"