A database of all of the videos a particular user watched
A database of many other users and everything they’ve watched, so you can build profiles
A database containing metadata about the videos so you can organize and recommend topically and based on things like recency
I could put something like that together, but it’d take a lot of people and a lot of work, and we’d probably have to pay for it either with advertising or by charging a fee for users who don’t want ads.
I think 1. could just be based on your subscriptions, and 2. isn’t necessary. It doesn’t have to be so personalised, just give me some discoverability for videos with outlying view vectors within the metadata topics for my subscriptions. Wouldn’t be as personalised as YT algorithm, but neither is that a very good one anyway. Still better than just using subscription page, IMO.
I guess it depends on whether you want recommendations about everything on the platform, or just from the subscriptions. I think for basic subscription recommendations you only need to track what the user has watched, although you can use a large number of profiles to get better recommendations even in that case.
Something like this would work:
import subscriptions watched and items from YouTube, Nebula, etc
ideally you’d dedupe items at this step and have a priority list (e.g. Nebula before Youtube)
allow manually marking items as watched, new subscriptions, etc
add newly watched items to the watched list
perhaps support re-syncing from sources, either manually or automatically
Then you can use something like https://github.com/mattwright324/youtube-metadata to pull down metadata and then you can make useful-enough recommendations to start with. You can add in other people’s profiles if you want to expand it to unsubscribed channels, but this will get quite big (and potentially slow) at the scale needed to be useful.
I don’t think this is as much work as you think, so someone else must have put more than these few minutes’ thought and effort into it already.
You would need
I could put something like that together, but it’d take a lot of people and a lot of work, and we’d probably have to pay for it either with advertising or by charging a fee for users who don’t want ads.
I think 1. could just be based on your subscriptions, and 2. isn’t necessary. It doesn’t have to be so personalised, just give me some discoverability for videos with outlying view vectors within the metadata topics for my subscriptions. Wouldn’t be as personalised as YT algorithm, but neither is that a very good one anyway. Still better than just using subscription page, IMO.
I guess it depends on whether you want recommendations about everything on the platform, or just from the subscriptions. I think for basic subscription recommendations you only need to track what the user has watched, although you can use a large number of profiles to get better recommendations even in that case.
Something like this would work:
Then you can use something like https://github.com/mattwright324/youtube-metadata to pull down metadata and then you can make useful-enough recommendations to start with. You can add in other people’s profiles if you want to expand it to unsubscribed channels, but this will get quite big (and potentially slow) at the scale needed to be useful.
I don’t think this is as much work as you think, so someone else must have put more than these few minutes’ thought and effort into it already.
I guess the trakt API could be used for this…but their database won’t have YouTube videos in it.