Lingodear (not free, but not too expensive) is better than Duolingo for Mandarin.
Cantonese is hard to get hold of anything good.
You do know, I presume, that Duolingo has a Cantonese course that you can only access via Mandarin. I raced through the whole course at speed to refresh my half-forgotten Cantonese when it became clear that Duolingo was going to change their 'tree' to the present crappy system.
Apart from that there are various things to help learn Cantonese that people have uploaded onto the community pages of Memrise. (Memrise has made those pages very hard to find, but they do still exist so far.)