i’d say making a mixtape for someone really depends on a few factors: how personal you want it, what their preferred form of media is, and how much you want to spend.
spotify playlists are cute and basically free, but they sometimes come across as less personal. however, if they don’t have a cd/cassette player, it’s probably your best bet.
burning a cd is fun and relatively easy, and it takes more work to do so it’s more personal. also, you can draw or paint the cover for the cd. however, if you don’t have the means to burn one, paying someone to burn one could get a little pricey.
making a true mixtape on a cassette is my personal favourite, because tapes are my favourite form of media and making a mixtape on a cassette takes a ton of work. however, again, paying someone to make it for you takes time and money.
overall, in terms of length, a good 30-45 minute play time is expected. try to pick songs that you know they’ll like, or that remind you of them, and maybe have something to go along with it that explains why you picked certain songs.
good luck!