Web guy here (more PM than developer). The two things I've done to keep the (unavoidable) feast/famine cycle at bay are:
1) keep two work bank accounts, one for daily use, one savings, and syphon off more than needed from daily > savings when invoices are paid. Example: client pays us £5k. We know we need to put aside corporation tax (we're UK based) of 20% on profit, but instead we put aside 25%. After a while of doing this you end up with a nice chunk of cash in the savings pot for any really famine-y times.
2) Retainers and ongoing "low effort" rolling work. We've got a bunch of clients on board who pay us for hosting, maintenance, the odd fix - they pay annually so it's a good "known" source of income without varience. I mean, obviously sometimes they churn and decide they don't need us any more, but for the most part it's solid. This second source is also good because we offer it whenever we do new work - so typically a project will pay for the project but then also for the ongoing retainer as well.
The second thing is important to note for developer type people I think - namely, people pay for things that you (as developer) wouldn't necessarily pay for. I'm surprised at the high percentage of clients who sign up to maintenance agreements (it's north of 95%), purely because they want someone onboard who will hold their hand / look after stuff that they don't understand.
So I guess I'm saying - do a side hustle, totally - but maybe start by looking closer to home. Existing clients are really, really easy to sell to, easier than a new project and probably easier than working in a bar, too :-)