The algorithm uses a simple item-based neighborhood model. i.e. if you like song A, Findka looks up all the content liked by other users who liked song A and probabilistically chooses an item that was well-liked. To help the algorithm keep learning, 35% of the recommendations are purely random ("epsilon-greedy"). I describe the implementation here, though it's changed slightly (now I export the database every day or so and generate a model on my laptop, then I load it into memory on the server). I experimented with a machine learning-based model (a latent factor model) last week, but it seems I don't yet have enough rating data for that to be useful.