A media recommendation system may score media items according to user recommendations, popularity, and/or recency. The scores may be weighted to produce an overall score for each media item. Media items may be added to a pool for a specific user, from which media items are selected for playback. The contents of the pool may be modified based upon user feedback and other data. The pool may be modified dynamically and/or in real time as media items are consumed or rated by the user.