Both approaches are feasible – although they require different strategies and a certain type of mindset for each endeavor.
Freelancing is selling your time for delivering a service. It’s an active engagement that is directly related to your involvement and time spent on a project.
If you have a client and a project in hand, it’s up to you to deliver the desired outcome. Unless you’re actively working, there’s no progress and therefore, no revenue. Still, you should also position yourself in the market – provide a unique solution that would establish you as an authority and find a medium that allows you to convert more clients.
Regardless of how successful you are (in terms of a pipeline of leads or hourly rate), you will still struggle to allocate enough time and resources to growth. Unless you build a technical team and outsource internally – which is no longer freelancing (in the first place).
Selling products is… different. It often requires more marketing and sales chops than programming skills. You have to identify a problem, build an MVP, define your buyer persona (target audience), reach out to your prospects, sell a few copies, ask for reviews and testimonials, work through your support queue and move some of the ticket requests to the roadmap. It’s a rough journey. The best product may be left hanging without the right marketing strategy in place.
It takes time to bootstrap that and close your first customers. It may be 6–18 months until you see some significant results and consider any form of expansion. Once you generate some traction, it may become a lucrative, yet passive, source of income.
Working with marketplaces may be a good option. Some would take over your marketing efforts in exchange of a fee. But this may bring you a good amount of cash with limited support and ongoing development (within 5–10 hours of week). The more the revenue grows, the more the engagement – but you may be able to hire a part-time support rep or another developer who can assist in improving the product.
Building a product is often riskier and has a good chance to fail. Your time is not directly connected with financial reward. It may or may not work.
But scaling a product business may be easier. Hitting a limit is harder. It’s possible to generate good revenue with less involvement on your end. If you’re sick for a couple of days, it doesn’t reflect on your daily sales volume.
Unless you’re aiming for a funded startup from the beginning (by investing in MVP and building a team early on), providing freelancing services and building your product on the side may be a good way to test both aspects. Just keep in mind that focus is incredibly important – the more time and attention you spend on a single activity, the higher the chance it will work.