advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
6.36k stars 448 forks source link

[Enhancement]: Recommendations on Home Page and other pages #1118

Open Dr-Blank opened 1 year ago

Dr-Blank commented 1 year ago

Describe the feature/enhancement

It would be nice to have some sort of discovery feature to explore the library.

One way is to do something like other media servers do, showing a section (just like "Continue Series" or "Listen Again") as "More in [XYZ] Genre/Tag" or "More titles like [a book]" or "More titles from [this author]" on the home page. These recommendations could be randomly generated every time a user logs in, which would help discover new titles.

  1. Randomly select a genre/tag from already existing db, and generate a list.
  2. Randomly select a book from already marked read, suggest books from the same genre or same author.

The same idea could be applied to a book/series page, at the bottom generate a list of other titles belonging to the same genre and other list from same author.

Other ideas on the top of my head to curate a list of suggestions:

iconoclasthero commented 2 months ago

AI-suggested titles I'm making my own text-based home screen for ABS and I was thinking about what columns I would want and what I find useful is the Discover feature, but as @Dr-Blank points out, there could be more targeted "suggestions."

I don't listen to series fiction and I don't care about narrators so neither of those are things that would interest me.

On the other hand, there's AI now so it would seem to me like sending some AI a handful of titles and authors and asking it to comb through the db and make suggestions is that wildly out of the realm of possibility given that Hoarder uses AI in a chrome extension.

So I assume that the two ideas are closely related enough to leave them together but if this should be a separate FR, please let me know.

iconoclasthero commented 2 months ago

At this point, I could go for an API endpoint that would return results based on short list (e.g., 0<n<6) of books and it returns a list of suggestions (based on whatever engine). From there it could be used however. Fully integrating that into the current UI of ABS is less critical than being able to get the information and do something with it, like put it on a custom abs home page. Though borts pointed out that customization of the home page is a highly-requested FR, so having options of what rows to display and how many results would be one place this could fit into the UI.