Initial metadata will come from the Spotify Web API. It provides the top songs and all the playlists for an individual. It also has a basic recommendation engine. The DJ will use all those as input to produce new playlists (which can be created via the API as well). I'm not doing any AI/Machine Learning. Just coming up with a bunch of if/then statements, randomization, etc... to see what I can pull off
The metadata is a genius idea; I didn't even think of that when running through ideas after reading your post. Thats probably the best location actually.