I also archive many playlists with some code I wrote but I don't use a GUI.
https://github.com/chapmanjacobd/library/blob/f778e22bf80c58...
My focus is on error handling and trying to differentiate between unrecoverable errors and recoverable ones (try different proxy) but there's still a lot of work to be done.
Also look into https://github.com/swolegoal/squid-dl