| CPC G06F 16/7867 (2019.01) [G06F 16/735 (2019.01); G06F 16/78 (2019.01); H04N 21/24 (2013.01); H04N 21/252 (2013.01); H04N 21/25891 (2013.01); H04N 21/26258 (2013.01); H04N 21/278 (2013.01); H04N 21/44213 (2013.01); H04N 21/4667 (2013.01); H04N 21/84 (2013.01); H04N 21/8586 (2013.01)] | 20 Claims |

|
1. A method, comprising:
storing cataloged information relating to a plurality of streaming video assets stored in an asset library in a database;
calculating similarity metrics between streaming video assets in the plurality of streaming video assets, each streaming video asset is streamable from the asset library by users, wherein a similarity metric is assigned in the cataloged information to each streaming video asset in the plurality of streaming video assets based in part on at least one of: user feedback, user behavior, or video asset viewing history;
receiving from a user device, via an application programming interface (API), a programming request including a streaming video asset that was streamed from the asset library that a user viewed at the user device and data regarding the user's interaction with the streaming video asset, the streaming video asset among the plurality of streaming video assets;
in response to receiving the programming request:
creating in real-time a set of streaming video assets to be delivered via a playlist to the user device from the plurality of streaming video assets based on similarity metrics with the streaming video asset that the user viewed;
ordering the set of streaming video assets;
creating the playlist in real-time for the ordered set of streaming video assets, the playlist including information associated with each streaming video asset in the ordered set of streaming video assets;
sending, via the API, the playlist to the user device.
|