1. A computer-implemented method comprising: identifying, with one or more processors, a channel category of a channel for a user based on one of a historical trend and a user activity; receiving, with the one or more processors, a request to customize a stream of content for the channel category; responsive to the request to customize, querying, with the one or more processors, new content items based on the channel category and a channel attribute; receiving, with the one or more processors, candidate content items that include the channel category and the channel attribute; determining, with the one or more processors, a user-independent score for each of the candidate content items to approximate popularity of each candidate content item within the stream of content that produced it; computing, with the one or more processors, a global score for each of the candidate content items by normalizing the user-independent score for each candidate content item across a plurality of streams of content, the global score identifying a popularity of each candidate content item within the plurality of streams of content; customizing, with the one or more processors, the stream of content for the channel by adding the candidate content items to the stream of content based on the global score of each candidate content item; and providing, with the one or more processors, the customized stream of content.
4. The computer-implemented method of claim 1 comprising: receiving the new content items from heterogeneous data sources; and categorizing the new content items.