• SatanicNotMessianic@lemmy.ml
    link
    fedilink
    English
    arrow-up
    24
    ·
    1 year ago

    You would need

    1. A database of all of the videos a particular user watched
    2. A database of many other users and everything they’ve watched, so you can build profiles
    3. 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.

    • gila@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      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.

    • Deebster@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      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:

      1. 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)
      2. allow manually marking items as watched, new subscriptions, etc
      3. 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.

    • CubitOom@infosec.pub
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I guess the trakt API could be used for this…but their database won’t have YouTube videos in it.