There must be a frontend that can track your watched stuff (ideally across several platforms) and so some kind of recommendation - even as simple as you’ve watched 100% of these videos so we’ll show you this new one first.
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.
There must be a frontend that can track your watched stuff (ideally across several platforms) and so some kind of recommendation - even as simple as you’ve watched 100% of these videos so we’ll show you this new one first.
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.
That goes against the whole anti-tracking idea of these frontends.
If you want to be tracked (and across multiple platforms no less), just keep using Google’s crap.
You’re forgetting about things like self-hosting or just using the browser’s storage.