162 comments

  • boplicity a minute ago

    Please remove my reviews from your LLM model and training data. Thank you.

  • voidUpdate 5 hours ago

    Does this break part 4 of the Goodreads TOS?

    "[...] you agree not to sell, license, rent, modify, distribute, copy, reproduce, transmit, publicly display, publicly perform, publish, adapt, edit or create derivative works from any materials or content accessible on the Service. Use of the Goodreads Content or materials on the Service for any purpose not expressly permitted by this Agreement is strictly prohibited."

    Also did the reviewers give you permission to fed their content into an LLM?

    • esskay 4 hours ago

      Fairly meaningless in this day and age. Also IIRC scraping legality depends heavily on jurisdiction. Some places take a more permissive view of accessing publicly available information, even if a site's TOS forbids bots.

      In the US there’s a major precedent [0] which held that scraping public-facing pages isn’t a CFAA "unauthorized access" issue. That’s a big part of why we’ve seen entire venture-backed scraping companies pop up - it’s not considered hacking if the data is already public.

      [0] https://en.wikipedia.org/wiki/HiQ_Labs_v._LinkedIn

      • SahAssar 2 hours ago

        From that article:

        > However, after further appeal in another court, hiQ was found to be in breach of LinkedIn's terms, and there was a settlement.

        So why would the same not apply here?

      • exe34 2 hours ago

        it's only legal if you have a team of lawyers though. the law still applies to the rest of us.

        • paulnpace 42 minutes ago

          It is the future: I own nothing, and I've never been happier. They can sue me and take nothing.

      • voidUpdate 3 hours ago

        So if you are legally allowed to "adapt, edit or create derivative works from any materials", what's the point of the TOS?

        • zigzag312 2 hours ago

          I believe TOS is binding as long as it doesn't conflict with the law. If something is deemed fair use under the law, TOS cannot override those legal rights.

        • hopelite 2 hours ago

          That’s a good question. It also would not be the first time that companies use trickery and manipulation or even deliberately illegal practices for various business/financial reasons. At the very least it could be used as a tool to underpin intimidating lawsuits and another step up, regardless of the legality in the relevant jurisdiction, it could be used to influence official government foreign policy to exert pressure on a jurisdiction that permits scraping.

    • pantropy 3 hours ago

      Technically speaking none of Goodreads material or content is being used publically, the only information displayed on the site is freely available (Title, Author) and not Goodread's property.

      You could try to argue that this falls under "create derivative works from any materials or content accessible on the Service" but even then it seems really flimsy to say that recommending books based on Goodread reviews is an infringemnt.

      It's just not that different to a youtuber saying "I read reviews for 50 books, here's the ones to read"

      • voidUpdate 3 hours ago

        I'd be impressed if a youtuber could read 3 billion reviews and recommend books to you based on that

        • tonyhart7 26 minutes ago

          what about youtuber that build a machine that scrape 3 billions books and make recommendation based on the data????

      • croes 2 hours ago

        I visit your garden and take 1 apple from your tree

        I visit your garden and take 1000 apples from your tree.

        Not that different.

        • jalk 21 minutes ago

          Not a great analogy, since a digital copy leaves the original intact unlike your apples

        • kemotep 2 hours ago

          Not only am I taking 1,000 apples, but I use those 1,000 apples to start my own orchard and encourage people to come to it instead of yours.

          • simianparrot an hour ago

            Yeah but if I program a drone swarm to automate this process it’s for the greater good — more apples for everyone!

            And I only charge a tiny subscription for access to all my drone-managed orchards, you can eat as many apples as you want. But don’t steal any and start your own orchard or I sue.

    • MichaelBosworth an hour ago

      What expectation of confidentiality are you ascribing to people having posted publicly accessible opinions on the internet?

      Out of curiosity, is your point about TOS out of concern for the poster or for Goodreads?

    • petralithic 4 hours ago

      Why ask questions you already know the answers to?

      • hananova 3 hours ago

        Because some tech adjacent people still have morals?

    • kosolam 4 hours ago

      I’m not taking sides in this debate, however since feeding whole books into LLMs is considered legal fair use now, I guess these reviews don’t require a permission as well. Would be great to hear a professional lawyer take on this.

  • vessenes 16 hours ago

    OK, I just added books until you told me I had too many. Fun idea! I have a couple of suggestions:

    * UI - once someone clicks "Add" you really should remove that item from the suggested list - it's very confusing to still see it.

    * Beam search / diversification -- Your system threw like 100 books at me of which I'd read 95 and heard of 2 of the other 3, so it worked for me as a predictor of what I'd read, but not so well for discovery.

    I'd be interested in recommendations that pushed me into a new area, or gave me a surprising read. This is easier to do if you have a fairly complete list of what someone's read, I know. But off the top of my head, I'm imagining finding my eigenfriends, then finding books that are either controversial (very wide rating differences amongst my fellow readers) or possibly ghettoized, that is, some portion of similar readers also read this X or Y subject, but not all.

    Anyway, thanks, this is fun! Hook up a VLM and let people take pictures of their bookshelf next.

    • kace91 13 hours ago

      (From the site) >If you visit the "intersect" page, you can input multiple books and find the set of users that have read all of those books. This can be useful for finding longer tail books that weren't popular enough to meet the threshold. For instance, if you like reading about the collapse of the Soviet Union, you could put in "Lenin's Tomb" and "Secondhand Time", and see what other books the resultant users have read.

      This is how filmaffinity works, which is the best recommendation system I've tried. They have a group of several dozen 'soulmates', which are users with the most similar set of films seen and ratings given; recommendations are other stuff they also liked, and you get direct access to their lists.

      >then finding books that are either controversial or possibly ghettoized

      Naively, I’d say the surprises are going to be better if you filter more different friends, rather than more controversial books among your friends. As in “find me a person that’s like me only in some ways, tell me what they love”. Long term this method is much better at exposing you to new ideas rather than just finding your cliques holy wars.

      • idoubtit 5 hours ago

        The "Intersect" page was useless for me. I added 15 books, but got no matching user. I entered a cycle of removing-searching, and at 10 books I had 2 users: one had read 41353 books, and the other 85363, with no ratings...

        To be useful, the "Intersect" page should have:

        - find near matches when there is no exact match with every book,

        - ignore fake users (can any human read 80k books in many languages?),

        - do not ignore users' votes (my input was books I liked, I expected to find users that rated them highly).

        With the "Recommend" page I had the same problem as the GP, and all the recommendations were useless. To fix that, I think some features are needed:

        - do not list books by authors from my list (I don't need recommendations for them),

        - add a button for marking a suggested book as "disliked" (at the bare minimum, it should remove it from the suggestion, and ideally it should influence le suggestions as much as a "liked" book),

        - do not suggest several books by the same author,

        - add a button to hide a suggestion or show more suggestions (there were dozens of books I'd read but wouldn't rate high).

        • costco 2 hours ago

          What do you think the probability that someone else read 15 books you also read is? It’s very unlikely unless they are all staples of a genre, part of the same series, or just extremely popular in general. 3-5 books is how much I would use on that page. I have found interesting accounts of medievalists, people who work at think tanks, etc with it.

          Fake users I would agree should be filtered, but I don’t think filtering out users who gave it a bad review is necessarily the intended behavior. If I put in 3 semi obscure Russian history books, I am presumably looking for someone who is an expert in Russian history to see what else they read. In that case I don’t care if they didn’t like one of the books or not. Approximate matches would require something like LSH or cosine similarity of average input book embedding against average embedding of read books of every user which I think wouldn’t work well anyone for retrieving anyone with a moderately long interaction history.

  • dbl000 15 hours ago

    Echoing what everyone else has said here - awesome site, love how fast it was.

    I did notice that when I put in a single book in a series (in my case Going Postal, Discworld #33) that tended to dominate the rest of the selection. That does make sense, but I don't want recommendations for a series I'm already well into.

    Also noticed that a few books (Spycraft by Nadine Akkerman and Pete Langman, Tribalism is Dumb by Andrew Heaton) that I know are in goodreads and reviewed didn't show up in the search. I tried both author's name and the title of the book. Maybe they aren't in the dataset.

    It did stumble with some books more niche books (The Complete Yes Minister). Trying the "Similar" button gave me more books that were _technically_ similar because they were novelizations of British comedy shows, but not what I was looking for.

    For more common books though it lined up very well with books already on my wishlist!

    • costco 15 hours ago

      Yes I would say the handling of series is probably the biggest problem. Once my test metrics got to a point I was happy with and my quality spot checks passed (can I follow the models recommendations from one generic history book to Steven Runciman, also making sure popular books don't always dominate the results), I was ready to release because I had been working on this project for so long. The solution is probably using the transformer model to generate 100-200 candidates and then having a reranker on top.

      • walletdrainer 12 hours ago

        Not just series, but I seem to mostly get a list of other books from the same authors.

        The recommendations from other authors are good, but as far as I can tell I’ve read every single one of them.

        Continuing to aggressively add everything it recommends eventually does seem to result in some interesting books I wasn’t familiar with, but I also end up with more and more books that are of zero interest to me.

        For what it’s worth, I started with:

          Infinite Jest David Foster Wallace
          Europe Central William T. Vollmann
          Gravity’s Rainbow Thomas Pynchon
          White Noise Don DeLillo
          One Hundred Years of Solitude Gabriel García Márquez
        
        It is possible that there simply aren’t many books like these in existence, so the pool of relevant recommendations gets exhausted fairly quickly. I’d guess trending towards unrelated popular books is also just a feature of the source data, that largely sums up my experience with goodreads anyway.

        Very cool project though. I did end up ordering a couple of new books, so thank you very much.

      • IanCal 6 hours ago

        Releasing is the right choice, well done with this it’s really cool.

        I’ve only had a short play but a solution to this problem might be to show authors rather than books. Or select authors outside of the list the user has shared and then a top n (1,3,5) for each of those.

        I feel like that’s how you’d recommend to someone else - type of book -> unknown author -> best matching few books from them.

        After that the other side would be trying to find some diversity (if you think I’d like author X, personally you might suggest three different styles of book from them rather than three very similar books from them)

  • mscbuck 14 hours ago

    Awesome site and speed!

    My advice from someone who has built recommendation systems: Now comes the hard part! It seems like a lot of the feedback here is that it's operating pretty heavily like a content based system system, which is fine. But this is where you can probably start evaluating on other metrics like serendipity, novelty, etc. One of the best things I did for recommender systems in production is having different ones for different purposes, then aggregating them together into a final. Have a heavy content-based one to keep people in the rabbit hole. Have a heavy graph based to try and traverse and find new stuff. Have one that is heavily tuned on a specific metric for a specific purpose. Hell, throw in a pure TF-IDF/BM25/Splade based one.

    The real trick of rec systems is that people want to be recommnded things differently. Having multiple systems that you can weigh differently per user is one way to be able to achieve that, usually one algorithm can't quite do that effectively.

  • yoz-y 16 hours ago

    It works pretty well in the sense that after inputting only a few quite diverse books it gave me recommendations for a lot of books that I’ve already also read and enjoyed.

    I would also really like a possibility to add negative signal. It did also recommend books that seemed interesting to me but I ultimately didn’t like.

    Overall quite impressive.

  • blehn 15 hours ago

    You should filter out authors from the input books in the output. If liked a book by an author, surely I'd read more of their work if I wanted to — recommending them isn't helpful. Along the same lines, I think interesting recommendations tend to be the ones that (1) I like and (2) I didn't expect. The more similar the recommendations are to the input, the more likely I already know them, and the more likely to create a recommendation echo chamber.

    • Semaphor 9 hours ago

      > You should filter out authors from the input books in the output.

      No, or at least make it configurable.

      I’d agree for series, but not for Authors, just because I once read a book by someone doesn’t mean I even know they have other stuff, the list of Authors I read and enjoyed is very long.

    • honkycat 12 hours ago

      yep, was gonna say this. Getting recommended all of the same books I've already read isn't great

  • diffeomorphism 3 hours ago

    The robots.txt is pretty explicit that this scraping is "disallowed"

    https://www.goodreads.com/robots.txt

    So legalities aside, this seems unethical.

    • paulnpace 35 minutes ago

      It is truly criminal that such a bright and brilliant model of ethics, Amazon, should endure such an attack.

    • galdauts 3 hours ago

      I agree. As a frequent reviewer on Goodreads, this feels really icky.

  • fridental an hour ago

    I've entered books from The Expanse and Lockwood & Co series and its output was not really overwhelming: - other books from the series (duh, I don't need a recommender for that recommendation) - Hobbit, Harry Potter, Azimov etc (duh, I like scifi and surely I've already read all the classic works).

  • zeroq 10 hours ago

    Great work!

    Some five years ago I was day dreaming about recommendation engine for movies where you could say "hey Ciri, give me a good gangster flick", and it will come up with something that you haven't seen yet but you'd definitely love.

    To my amazement almost everyone, even true AI believers, thought it was impossible to achieve. :d

    But my question is - having such huge dataset, do we really need AI for it? SASRec/RAG is sexy, but could the same result be achieved with simple ranking and intersections like lastfm did in the past with music?

    Some twenty years ago I came up with an idea of "brain" data structure for recommendations where you have all your items (books, movies or articles) modeled as a graph, and whenever you pick something it makes a ripple effect, effectively raising scores in cascade of every adjecent item.

    Just like your brain works - when you stumble upon something new it immediately brings back memories of similar things from the past. I never had the opportunity to implement it and test in real life scenario, but I'd be surprised if a variant of this is not widely used across different recommendation systems, like Amazon.

    • krisoft 6 hours ago

      > To my amazement almost everyone, even true AI believers, thought it was impossible to achieve.

      I mean. Is it possible? Hey Zeroq give me a good gangster flick please?

      How will you know what i have seen and what I haven’t yet? How will you know what movies I like? Are there even good gangster flicks i would enjoy and haven’t seen yet?

      The way the problem is phrased it sounds like your dream recommender has two properties: “it doesn’t receive any other information than what is in the prompt” and “it always recommends a movie you haven’t seen and will enjoy”. Those together are what makes your dream recommendation engine impossible. If you relax those then of course it is possible. That’s just a recommendation engine.

    • esafak 10 hours ago

      last.fm used a primitive machine learning algorithm too, else what are you going to rank by?

      • zeroq 9 hours ago

        Did they? I recall similar site back from as far as from 2008. Might be them or something similar.

        Anyway. I can totally see such site running purely on statistics. Every song, every artists, every genre is a bucket. You listen to a song you put a drop in these buckets. Once there's enough water running we can compare you to other users and their buckets.

        It might be hard to run it on scale in real time, but c'mon, it's leetcode junior level assignment level of complication.

  • varenc 16 hours ago

    I love this site, and the approach! Great seeing someone making good use of Goodreads data.

    Sadly my experience with the book recommender isn't too great because of the 64 book limit. If I import either the most recent or least recent 64 book, 95% of the books it recommends to me are books I've read. Though it was helpful for spotting a few books I've read that I didn't log on Goodreads. Guess I'm pretty consistent.

    • costco 16 hours ago

      I think I will expand the input books limit (sadly requires retraining) and or the output books limit of 30.

  • majormajor 12 hours ago

    Neat! It's a validation of the model that 75%+ of the recommendations are things I've read and also enjoyed, with a few "read, didn't like" and some more "didn't read, don't really want to."

    But I think to break the content-bubble effects to find the longer tail, some way to reject or blacklist things - and have that be taken into effect in the model - might help.

    • daemonologist 9 hours ago

      Likewise, I put in six of my favorites and had already read (and enjoyed) 29 of the 30 recommendations (I'll have to check out Blindsight by Watts). Working great but it would be cool - as with pretty much every recommendation algorithm ever - to have more of a "discovery" capability.

    • robertritz 10 hours ago

      To add to this Youtube afaik uses multiple models to sprinkle in new content alongside your usual recommendation just for this.

  • mcbrit 16 hours ago

    I don't know. I entered, trying to be popular but at least slightly? opiniated:

    Tigana, Hyperion, A Fire Upon the Deep, Blindsight, Moby Dick

    and I got a list. Sure, read all that or wasn't interested for reasons, I added (only Neuromancer on initial recommendations):

    Neuromancer, VALIS, Quantum Thief, Towing Jehovah.

    List did not get more interesting.

    Book recommendations are still kind of difficult.

    • mcbrit 16 hours ago

      If I provide that list, a (real) person doesn't ask me if I've read the Hobbit.

    • teaearlgraycold 16 hours ago

      I don’t think past liked books are nearly enough information to provide a good book for you today. You need a lot more information about the state of someone’s mind.

      • mcbrit 16 hours ago

        You're talking to a dude. (in my case.) I mentioned 8 books.

        I won't tell you exactly what to do, but one way to do it is to measure your surprise with me choosing each of those 8 books when you provide a recommendation back to me of what I should read next. I think I get kind of that experience talking to someone about books.

        The algorithm didn't do that.

        • teaearlgraycold 15 hours ago

          Talking to someone about books gives you so much more information than a book list. Their expressions, their accent, their energy level, their clothes, and many other things help to provide supplemental information.

  • walthamstow 16 hours ago

    Works pretty well with cookbooks. Very cool work.

    One suggestion would be to make the search less strict on diacritics. Searching for popular cook J. Kenji López Alt was only successful if I entered the correct O.

  • stichers 44 minutes ago

    I don't get what "Add" does

    • hasbot 5 minutes ago

      Try it and see! But, it adds the recommended book to the list of selected books.

  • aj_hackman 17 hours ago

    Thank you! Because of this, "The Making of Prince of Persia: Journals 1985–1993" by Jordan Mechner is on its way to my house.

    • mentos 3 hours ago

      Here’s a human recommendation if you like that you may like these that I’ve read:

      1.Sid Meier’s Memoir!: A Life in Computer Games — Sid Meier 2.Source Code: My Beginnings — Bill Gates 3.Build: An Unorthodox Guide to Making Things Worth Making — Tony Fadell 4.Prince of Persia: The Journals — Jordan Mechner 5.A Theory of Fun for Game Design — Raph Koster 6.Ask Iwata: Words of Wisdom from Satoru Iwata, Nintendo’s Legendary CEO — Viz Media (Editor) 7.Control Freak: My Epic Adventure Making Video Games — Cliff Bleszinski 8.Once Upon Atari: How I Made History by Killing an Industry — Howard Scott Warshaw 9.Press Reset: Ruin and Recovery in the Video Game Industry — Jason Schreier 10.Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture — David Kushner

    • qingcharles 16 hours ago

      You definitely will not regret that purchase. It's a very enjoyable read.

  • MattGrommes 16 hours ago

    This is cool but I'd love the option to filter out the author of the book you entered. I put in Shroud by Adrian Tchaikovsky and almost all the books are others by him, which is fine but doesn't really mix up the stuff I'm reading.

  • sexylibrarian 4 hours ago

    We've been working on this data set since 2016 and have it covered! Our app is on test flight in private beta and will be sharing it very soon xo

  • androng 15 hours ago

    I tried to import my book list with "Import goodreads" button and inputting https://www.goodreads.com/user/show/68515148-andrew but it said "import failed, see console"

  • logicprog 2 hours ago

    I tested the model out, and I can attest that it's very on point! It gets the assignment

  • illdave 6 hours ago

    This is really great - refreshing to have something that's instantly useful, with no need to signup/login. Really fast, immediately helpful - this is wonderful.

  • simlevesque 14 hours ago

    The How it works it way too short :) I'd love to see some scripts, know the hardware you use, etc...

    By the way you could use Summa FTS Wasm + Duckdb Wasm to have the same website without any backend except file hosting. Maybe even just Duckdb Wasm with it's FTS would be enough. Summa FTS is very similar to meilisearch in essence because they're both derived from Tantivy.

    https://izihawa.github.io/summa/quick-start/

    • costco 13 hours ago

      I use a Hetzner server with Ryzen 7 3700X and an SSD.

      I think I could get the model to work with ONNX web but it'd be a 2GB download so the user experience wouldn't be too great. My Meilisearch index is ~40GB but I don't know how much that could be compressed down.

      Here's how the similar page for books is generated, which I forgot to mention on the "how it works" page: https://gist.github.com/chris124567/8d06d64bfe827cb7f6121f93...

  • foota 5 hours ago

    Many years ago I built a D3 graph based explorer for movies using the IMDB API. You would start by entering a movie title and it would pull up the similar movies from IMDB and you could click them and see more similar ones and they would all be connected based on similarity. It was very fun!

  • deanc 29 minutes ago

    Looks cool, and no bullshit. Please let us filter recommendations. If I put in a non-fiction book I'm probably looking for recommendations of other non-fiction books :)

  • billfruit 3 hours ago

    I feel that the last added book in one's list seem to have more influence on the recommendations, which results in a rather similar type of recommendations.

    • costco 3 hours ago

      This is a result of the use of positional embeddings, which typically results in the final item being weighted very highly. The problem is that this information is shown to be very relevant to the task of predicting the next item interacted with. If you add more books the effect of this is somewhat diluted.

  • tgv 4 hours ago

    It seems you cannot reject recommendations. Based on two books, the system showed reasonable recommendations, some of which I'd read, including one that I really didn't like. There must be useful information in that, too.

  • NitpickLawyer 16 hours ago

    Interesting. I tested it with sci-fi, and it definitely recommends good books, but not sure how accurate it is at surfacing the sub genres / themes. For example for [aurora -ksr, seveneves, project hail mary, ender's game] it gave me dune. Which is a great book, but not in the "first-ish contact" style I hoped it would be.

    Another thing I noticed is that it tends to recommend 2nd and 3rd books in a series, which is a bit so-so. If I add the first book in a series, I probably already read the whole series...

    • 28304283409234 16 hours ago

      Came here to say this (recommending book 2 and 3 in a trilogy). Great app otherwise!

  • laszlojamf 5 hours ago

    I gave it a spin with Gravity's Rainbow. Most of the recommendations are what you'd expect, Pynchon himself, Don Delillo, David Foster Wallace... and then right at the end... The Hobbit, or There and Back Again >.<

  • gen220 10 hours ago

    The best way I’ve found for finding predictably enjoyable fiction is to read interviews with the authors I like, and read about the works and authors they admire or are influenced by. Or who they exchanged letters or communications with, if they’re long dead and no interviews proper exist.

    Strongly recommend giving that a try yourself. And trying to build an algorithm around it!

    Here’s an example: Tolstoy really admired Turgenev, who was friends with Theodore Storm and Gustave Flaubert, and greatly admired Gogol.

    If you like Anna Karenina you’ll probably find something of value in Torrents of Spring, Immensee, Madame Bovary or Dead Souls.

    It spiders out pretty quickly!

  • foresterre 14 hours ago

    It seems to work decently even with just one or two titles for popular titles, but less so for the niche.

    For example, the title "Impro: Improvisation and the Theatre" by Keith Johnstone, linked by another article posted to HN today gives back the following suggestions:

    - Truth in Comedy: The Manual of Improvisation by Charna Halpern - Steve Jobs by Walter Isaacson - 1984 by George Orwell - Harry Potter and the Sorcerer's Stone (Harry Potter, #1) by J.K. Rowling - Sapiens: A Brief History of Humankind by Yuval Noah Harari - The Alchemist by Paulo Coelho - The Tipping Point: How Little Things Can Make a Big Difference by Malcolm Gladwell - Dune (Dune, #1) by Frank Herbert

    It's a bit unfortunate that all suggestions are fairly popular titles, which are fairly easy to find, while the unpopular or niche may be just as well written but a lot harder to find.

    Within niche topics or books, it is also usually harder to provide multiple similar enough titles up front.

    • costco 14 hours ago

      It's recommended that you put at least 3 books in. If you would like recommendations just based on one book, click the similar button on the book, it should take you to this page: https://book.sv/similar?id=297914

  • easywood 6 hours ago

    Thank you very much, I have always wished for something like this to be part of Goodreads itself. The intersect function especially will help me find hidden gems that other likeminded people have found. I'm looking forward to find out what books I have missed all my life.

  • caro_kann 4 hours ago

    I tried three different genre books, for each I got 1984 - George Orwell recommendation.

  • sajb 7 hours ago

    You could color code results from the same author or from the same series as an already added book, since the user most likely already knows about them. Perhaps a toggle to filter these out altogether.

  • sodality2 15 hours ago

    This is fantastic!!! I've added many results to my want-to-read list, they're very on-point from very few inputs. It would be really cool to import from a user ID, where you can choose some subset of your read list to inspire new suggestions, while excluding all books in your want-to-read and already-read lists. But that's an ongoing scrape to maintain, it's a cat and mouse game you probably don't want to start. I wonder what the legal status of scraped training data is... if you don't reproduce any of the review data I presume you're fine?

    • costco 15 hours ago

      You can import the first or last 64 books of your read, to-read, or currently-reading shelves if you press the "Import Goodreads" button and provide your Goodreads ID.

      • sodality2 15 hours ago

        D'oh, didn't even notice that button :P Wow, that greatly improved the recommendations, it even found a book I wouldn't say is particularly related to the others but I found it interesting-sounding. Thanks for such a cool site!!

  • rapatel0 13 hours ago

    So I tried a few disparate books independently:

    - Guns Germs and steel - The Alchemist - The Ramayana (a few others)

    Harry Potter and the sorcerers stone came up in all of them near the top. :D

    • costco 13 hours ago

      > Note 1: If you only provide one or two books, the model doesn't have a lot to work with and may include a handful of somewhat unrelated popular books in the results. If you want recommendations based on just one book, click the "Similar" button next to the book after adding it to the input book list on the recommendations page.

  • jamesponddotco 17 hours ago

    The recommendations are pretty good; even though I only input six books, it was enough for it to recommend books I have on my wish list. Definitely going to play around some more. Plus, the website is super fast, very impressive.

    Any chance we could get an API going at some point? Are you planning to open source the work?

    I'm interested in the scrapping of Goodreads too. I'm building a book metadata aggregation API and plan on building a scrapper for Goodreads, but I imagine using a data center IP address will be a problem very fast. Were you scrapping from your home network?

    • costco 16 hours ago

      Thank you for the compliments :) I used 50-100 datacenter proxies. I just logged requests made by the iOS app with Charles and then recreated the headers to the best of my ability though the server did not seem to be very strict at all. Worth noting though that static residential proxies are not too expensive these days anyways.

      Re the API: The model does actually run fairly well on CPU so it probably wouldn't be too expensive to serve. I guess if there is demand for it I could do it. I think most social book sites would probably like to own their recommendation system though.

      • goatsi 16 hours ago

        Speaking of sustained scraping for AI services, I found a strange file on your site: https://book.sv/robots.txt. Would you be able to explain the intent behind it?

        • costco 15 hours ago

          I didn't want an agent to get stuck on an infinite loop invoking endpoints that cost GPU resources. Those fears are probably unfounded, so if people really cared I could remove those. /similar is blocked by default because I don't want 500000 "similar books for" pages to pollute the search results for my website but I do not mind if people scrape those pages.

      • dbl000 15 hours ago

        I would love an API or the dataset if you could share it somehow! Just to play around with my own book lists.

  • maxglute 9 hours ago

    Would be nice to not recommend books by author already added for novel discoverability.

  • xkbarkar 15 hours ago

    Have nothing to add that hasn’t already been commented. Like the entries in the add list stay. Other than that, my recommendation list keeps coming up with books I have already read and loved and I am hitting the limit :(.

    So filtering would be great,

    I have seen a few versions of the same books listed more than once.

    Loved this. Hope you get to tune it a little.

    Also, thank you for not ruining the site with a single popup, email subscription list offer, chatbot, wheelspin from hell anywhere.

    Blessings from the popup hating part of the interwebs.

  • _virtu 15 hours ago

    Hey OP I’m building a bookclub app. Do you happen to have an api I could plug into? I’d love to add this to our member suggestions section.

  • spullara 14 hours ago

    I would love to be able to filter the resulting list by removing certainly all books that in the same series but I think removing all books by authors that I have already listed would be great to get new things that I haven't already read. The resulting recommendations maybe included 1 new book for me.

  • iamcreasy 7 hours ago

    Very fast. Thanks for building it.

    Besides title, I'd like to provide suggestion on what type of books I am looking for.

  • Llamamoe 4 hours ago

    My impressions are similar as those of others:

    - It seems to mostly show me books I've already read and know of, including sequels of what I added, which isn't very useful.

    - It ultimately seems to prioritize "highest rated in category" too much, rather than focusing more on what made my chosen books stand out over others.

    - Needs a "disliked books" list, especially when the recommendations show me a lot of superficially similar books I hated. I'd like to blacklist them.

    - Would be cool to have a discovery mechanism for less popular and even obscure titles. Again, the top picks of each category are very well-known.

    - Might not be practical, but I'd like some way to filter by specific features of reviews. E.g. prioritize reviews that say "the MC is a psychopath/murderhobo/rapist" higher for anti-recommendation, ignore reviews that say "whiny character", etc.

  • nsypteras 16 hours ago

    I'm impressed it recommended so many books i've already read and liked! I have a big reading backlog but once it's whittled down I will likely come back to this. One feature request would be to also show a "why this is recommended" for each recommendation so I can further narrow down the list for what I'm looking for

  • Jayakumark 12 hours ago

    Cool work, How much did it cost to train ? Will the source for training be open source ?

  • giobox 12 hours ago

    Considering how much treasure has been poured into building recommendation engines for just about everything online, books have always been very difficult for me to find recommendations that work. Interested to try it!

    • SomeUserName432 3 hours ago

      I've made multiple attempts to use "AI" to find the names of books I've read in the past. Never managed to find a single one. Quite disappointed with that. I've read so many books that I have no idea what were called.

  • qingcharles 16 hours ago

    I put in a bunch of books and hit recommendations and... I'd already read 95% of them, so at least we know it works well! (checking out the other 5% now)

    p.s. one idea: when you click [Add] on the recommended books list, it should remove it from that list

    p.p.s. if there is a way to filter out the spam "Summary of ____" books, that would be good too

    • jacquesm 15 hours ago

      I have a hard time remembering titles of books I've read if they are not directly related to the subject matter. No problem remembering the content though. With movies I remember both.

  • cfraenkel 11 hours ago

    FYI, on this android tablet (android v12 / FF 144.0.2), the 'start typing a book title...' field doesn't do anything. On the Mac, it brings up a list of matches to select from.

  • nickthesick 14 hours ago

    I have a web app https://bookhive.buzz which is a GoodReads alternative based on BlueSky’s protocol. I scrape all of the book data from Goodreads too.

    I would love to be able to add a recommendation system based on this.

  • noir_lord 16 hours ago

    It has a tendency to recommend books in the same series as are input (putting aside that if I like a book in a series I've likely already read the series).

    It did suggest Murderbot Diaries (not on the input but a series I have read and did like) and an Adrian Tchaikovsky I hadn't read :).

    • costco 16 hours ago

      It's explicitly trained to predict the next book read in a sequence, which is why you get that behavior. There's probably a better way for me to handle it rather than having 5 books from the same series tend towards the top though.

      • noir_lord 15 hours ago

        If you have the data to know the other books in a series maybe split the results so you have "books in series" in one column and "books not in a series mentioned" in the other but other than that it did a better job than Kindle recommendations which are often hilariously off the mark.

    • bananaflag 16 hours ago

      Yeah the hardest problem for recommendation systems is to find non-Star Wars books which are like some specific Star Wars books and unlike some other Star Wars books. I would say it's AGI-complete ;)

      • noir_lord 15 hours ago

        Ironically that is one of the few uses where I've found an LLM to actually be useful.

        ChatGPT does a fairly good job at letting you negate/refine whatever it was you where looking for.

      • dylan604 13 hours ago

        I would expect a recommend of Star Trek if it were AGI-complete just to troll

  • skayvr 16 hours ago

    I've worked in recommender systems for a while, and it's great to see them publicized.

    SASRec was released in 2018 just after transformer paper, and uses the same attention mechanism but different losses than LLMs. Any plans to upgrade to other item/user prediction models?

    • costco 16 hours ago

      I'm not an expert by any means but as far as sequential recommendations go, aren't SASRec and its derivatives pretty much the name of the game? I probably should have looked into HSTUs more. Also this / sparse transformers in general: https://arxiv.org/pdf/2212.04120

      • skayvr 16 hours ago

        There's a few alternatives, but SASRec is a good baseline for next-item recommendation. I'd look at BERT4Rec too. HSTU is definitely a strong step forward, but stays in the domain of ID models. HSTU also seems to rely heavily on some extra item information that SASRec does not (timestamps).

        Other models include Google's TIGER model which uses a VAE to encode more information about items. Similar to how modern text-to-voice operates.

        • costco 15 hours ago

          Thank you for the recommendations. I didn't try BERT4Rec because I assumed it would perform the same or worse as what I already had after having read https://dl.acm.org/doi/pdf/10.1145/3699521. The TIGER paper seems interesting - I definitely want to explore semantic IDs in general and also because I think it could allow including more long-tail items.

      • bigskydog 16 hours ago

        Recommend OneRec which is an improvement of HSTU and it recently became open source

  • mpern 7 hours ago

    I read the title as "I scraped 38 book reviews". Time to get reading glasses...

  • comrade1234 16 hours ago

    I gave up on goodreads reviews. I've been burned too many times by highly rated books that weren't that good. If you're into (horny) ya romance fantasy then goodreads is great, but it's not for me. I haven't really found a substitute.

    • owenversteeg 16 hours ago

      Any broadly used ratings system is total garbage. Goodreads ratings, Google Maps ratings, Amazon reviews, Vivino for wine, et cetera. Even assuming the reviews are real and genuine, most people just aren’t good at writing reviews, and the handful that are often have wildly different criteria than you. Someone already commented with one enthusiast site - and sure, enthusiast sites are often better than the mainstream option (see also: CellarTracker for wine) but honestly my advice is to get good at determining the quality of the thing yourself. For books there are a ton of hints about what you’ll be getting. “NYT Bestseller”, “xyz book club”, certain publishers, who’s quoted on the back, when was it published, who wrote it? All of those things can help you rapidly identify books. I personally dislike most modern books and prefer the “classics”, so a lot of this is only useful as a negative signal, but even then there are positive signals, for example a reference to a much older book.

    • HeinzStuckeIt 16 hours ago

      GR is also great if you are into academic nonfiction, Classics, poetry, etc. The site does, after all, let you track and review any publication with an ISBN. What my peers and I use it for is worlds apart from the romance novel or LGBT young-adult book reviewing community that often puts GR in the news, and far away from all the drama that rages around genre fiction.

    • jamesponddotco 16 hours ago

      I'm not into the social aspect, so Goodreads was never an option, but Hardcover[1] seems like a pretty good alternative.

      [1]: https://hardcover.app

  • jimmoores 16 hours ago

    I unexpectedly liked this. I thought the recommendations were actually useful.

    • parkersweb 15 hours ago

      I sadly didn’t share that experience - I fed it my goodreads most recent - but it largely picked up on 2 or 3 series I’ve been slowly working my way through so that most of the recommendation list was ALL the other books in the series (and the spin-off series) so I didn’t really get anything useful…

  • nwhnwh 16 hours ago

    I entered "Alone Together: Why We Expect More from Technology and Less from Each Other" and I received books about Steve Jobs, Harry Potter and "The Subtle Art of Not Giving a F*ck". Like how???

    • costco 16 hours ago

      If you want recommendations solely based on one book, please try the similar page: https://book.sv/similar?id=13566692

      These seem to fit the description you are going for better. The model is trained to predict the next book in the sequence. Those other books you listed happen to be very popular, so in the absence of information about you (only having 1 book), the model will tend to recommend those.

    • BeetleB 16 hours ago

      > Provide 3+ books for best results.

  • SilverSlash 6 hours ago

    Bless this man! I despise Goodreads but continue to use it, because there are no real alternatives. It feels like they outsourced the creation of that website to some cheap consulting agency in a low cost location and then left it at that. For example, Goodreads hasn't updated its outdated version of React in years.

    For a while now I have really wanted good book recommendations matching my tastes. The LLMs suck at this (likely due to the mode collapse that Karpathy mentioned in his excellent podcast appearance on Dwarkesh) and Amazon is very good but only recommends based on the current book you're browsing.

    I will try this out now! But could you increase the number of books fed to the recommender or maybe get the top-64 highest rated books instead of just the most or least recent 64?

  • fennec-posix 14 hours ago

    Very neat. Even found a couple Cold War-setting books to read and an entire series of 6 books on the same topic, All from searching up Team Yankee.

    Thanks for the new reading list :D

  • __alexander 16 hours ago

    Care to share the scrapped data? I would love to play around with it.

    • costco 16 hours ago

      Not sure if I can. At the very least book descriptions most likely could not be distributed. There is an academic dataset with around 200M reviews though: https://cseweb.ucsd.edu/~jmcauley/datasets/goodreads.html

    • demaga 16 hours ago

      I am not sure about legal side of things here, but a Kaggle dataset would be really cool

    • guelo 16 hours ago

      I'm surprised he got that much data. Goodreads uses several tricks to try to stop scrapers, for example pagination only works up to a few pages.

      • jacquesm 15 hours ago

        They might send him a bill for use of resources.

        • cjaackie 11 hours ago

          I’m wondering about how ethical it is to load down a resource in this way, open to opinions. There is a mention “I didn’t hammer down the servers” but what does that really even mean? The site isn’t being used as intended and just curious how other people feel about that.

  • atomicnature 4 hours ago

    Will this be open source?

  • thinkcontext 2 days ago

    I'm impressed! It didn't take many books for it to start suggesting other books that I liked and it showed me several solid choices I'm adding to my queue.

  • esafak 17 hours ago

    It is interesting that you chose a contextual recommender when you would think book affinity is not very susceptible to context. Did you try other models too?

  • conartist6 an hour ago

    SHAME. Gross. Morally bankrupt. Greedy.

  • mna_ 4 hours ago

    I typed "Introduction to Real Analysis by Bartle" and I got:

    Steve Jobs by Walter Isaacson

    Harry Potter and the Sorcerer's Stone (Harry Potter, #1) by JK Rowling

    Topology by James R Munkres

    and so on.. Munkres' book is relevant and I want to read it, but what have Steve Jobs and Harry Potter got to do with with mathematics?

    • costco 3 hours ago

      You may find these better:

      https://book.sv/similar?id=211570

      > Note 1: If you only provide one or two books, the model doesn't have a lot to work with and may include a handful of somewhat unrelated popular books in the results. If you want recommendations based on just one book, click the "Similar" button next to the book after adding it to the input book list on the recommendations page.

    • franticgecko3 4 hours ago

      They have nothing to do with mathematics but everything to do with being extremely popular books.

      Most people that have read a mathematics textbook have also read and enjoyed Harry Potter.

      Given you have enjoyed drinking water and breathing in the past, there is a high likelihood that you will enjoy watching the Star Wars films.

  • the_coffee_bean 11 hours ago

    Amazing work. Do you plan on publishing the training code?

  • lifeisstillgood 9 hours ago

    Goodreads - “hey those user written comments belong to us, you need to pay us”

    HNUser - “OpenAI told you to go swivel until they made a billion and you accepted that. Samesies “

  • djoldman 16 hours ago

    Can you share the details about the Meilisearch instance? How big is the box and database size?

    • costco 16 hours ago

      Everything (namely Meilisearch, Postgres and the web server in Go) besides the model inference is running on a Hetzner server with a large SSD and an "AMD Ryzen 7 3700X 8-Core Processor." The data.ms directory is about 40GB. Once the HN traffic dies down I will probably move the model back to the Hetzner server so I don't have to pay $0.15/hour for an A4000.

  • skerit 17 hours ago

    Please make this for tv series too!

  • stevage 15 hours ago

    This is great. would be really nice to be able to reject suggestions though.

  • momocowcow 16 hours ago

    Whatever I put in, it wants me to read Sapiens :_(

  • dbingham 12 hours ago

    See, now this is an excellent use of LLMs (if we're going to be using them at all). Low stakes if it gets shit wrong, but can provide some really useful and surprising answers!

    One request, it would be nice to not have to add Goodreads, since I don't use it. I've love to be able to enter a couple of book titles or an author and just get recommendations!

    • costco 11 hours ago

      You don't have to import your Goodreads profile. You can type titles and authors in the box and find books to add to the list that way.

  • jauntywundrkind 16 hours ago

    Where do nice scrapes like this end up? Are there BitTorrents out there for scrapes like this?

    Honestly this would finally be the web2.0 we all wanted & hoped for. It's against majesty that it's all captured owned user content that is legally captured by essentially public message boards/sites.

  • tristor 14 hours ago

    Two bugs to know about. First, you are using a deprecated API call that fails in Firefox. Second, you are using an HTTP endpoint that fails to upgrade to HTTPS to call the GoodReads API, which also fails with HTTPS-Only enabled in both Chrome and Firefox.

    The idea seems good, but since I can't import my GoodReads successfully, it's hard for me to try

    • costco 13 hours ago

      I use `fetch` on relative endpoints so that's odd. There shouldn't be any external API calls on my website other than whatever the Cloudflare captcha uses. I also use HTTPS-only in Chrome and did not experience any issues. I just tested Firefox with HTTPS-only on/off and Safari on my phone and I was able to import shelves for multiple users. Are you sure that you do not have any privacy settings on (can you access your shelf in Incognito mode)?

  • submeta 16 hours ago

    Like the idea! Wondering: Weren’t the early LLMs trained on data in Goodreads as well? I can upload and ask ChatGPT as well, and it will give me similar recommendations, no?

  • brailsafe 13 hours ago

    In some sense, it seems to work well, but the results are sort of nothing special and that's not what I'd personally hope for. I put in three books that are unrelated and got results that compare to a standard book store, either from the same series or other meme startup tech bro recommendations that I'd often literally see on the same shelf. I can't say it's not good, because obviously that's how people browse books and that's what you'd get from reviews, which is perhaps why I never consult reviews for anything.

    I put in Thinking in Systems and got a bunch of engineering management stuff which I don't care about. Deep work of course gave me all the rich dad poor dad, steve jobs bio, tim ferriswheel crap which shouldn't surprise me at all. Girl with the dragon tattoo gave me the rest of the series.

    Thematic similarity + popularity just seems boring, I'd like something that surfaces unusual deep cuts that I wouldn't necessarily find at the book store on the same shelf, but maybe that I could find if I went to a great library and might be out of print, or that I could find on libgen.

    With these:

    - Thinking In Systems: A Primer

    - Paddle to the Amazon: The Ultimate 12,000-Mile Canoe Adventure

    - The Elements of Typographic Style

    I was kind of hoping to at least get "Grid Systems in Graphic Design" or something, but mostly got Alchemist, Zen', Into the Wild, almost comically mainstream cuts that of course in some cases I've already read or could find in a Cupertino trash can, not that any of them are not worth reading necessarily, but very typical.

    An option to surface rarer choices that combine signals from all the books on the list would be neat, like in the above case, the least read real adventure book that somehow touches on the economics of places travelled through with musings about signage or that just happens to use a similar prose that Robert Bringhurst used to make print design theory not dull. Recommendations that only someone with a real sweaty and weird venn diagram of genuine personal deep interests might conjure up, and that a normal person might say "why the hell would I ever read that" but that otherwise amazing books that are just slept on and might never have found a market, or maybe thematically dissimilar+ conceptually similar in aggregate + unpopular. I'd like to be able to input a seed of inspiration that I haven't been able to find the next deeper step in, rather than all the books on how to start a startup in the garage I don't have. If it's James Hoffman's book on brewing coffee at a high level, I wouldn't want another YouTubers book on brewing coffee at a high level, I'd want the Physics of Filter Coffee, or something in an adjacent sphere grid / tree branch that gives me a way to pursue depth AND breadth but not necessarily the same book by someone else, or the same book with different characters. If I've found a seedling or a mushroom, I'd like to explore the root system of that fruiting body, and then at a certain point find a new seedling based on what I've learned so far, or the one video with 50 views that's somehow the best explanation of how to handle back-pressure in highly concurrent systems after I've realized that I don't know shit about concurrency, but not so deep in the stack that I can't bridge the gap; make the series for me.

    Granted, my take here might just be an indictment of reviews in general, or at least those sourced from a generic site like goodreads/amazon which is all about popularity and armchair criticism.

    • costco 12 hours ago

      I would agree the results are generally OK but do not feel magical in most cases (I think in some specific cases they do though). The results can be not great if you add books across many disciplines. For instance if you add "The Elements of Typographic Style" and "The Design of Everyday Things" (https://book.sv/#671857,18518), you do get "Grid Systems in Graphic Design" but under its German name "Rastersysteme für die visuelle Gestaltung."

      • brailsafe 7 hours ago

        Wow, quite impressive actually, some of those additional entries are quite good as well, with Ellen Lupton, Steve Krugman, Erik Spiekermann, and then also 1984 and Mark Manson for some reason. Would the latter few be because they're just super widely read/recommended/connected regardless of genre?

        Great project anyway, thanks for sharing and responding to my stream of consciousness, I certainly didn't mean to be insulting and hope my tone didn't come across that way.

        • costco 3 hours ago

          Yeah, the latter are just because they are popular. If you have 3+ books you tend to get less random popular books included

  • cyrusradfar 11 hours ago

    I think this is cool and super fast -- kudos on whatever tech you needed to tackle to make it so.

    I don't see anyone saying safety or ethics, so I'll just put it out there that it has some safety and ethical considerations you should consider.

    Consider "inflammatory" books and how they could be used to harm a group of people. Although I recognize folks post this "publicly", I think the intersection feature provides more than Goodreads.

    Let's say, people who have read "Mein Kampf" & "The Anarchists Cookbook" or some other combination that say "Antifa" to the current regime.

    I'd recommend you have a list that you consider private, always and allow Users to add to that list so it's more scalable. If folks try to intersect with anything in that list, you can warn that you don't allow intersection with private books.

    Anyway, super fun demo!

    • costco 5 hours ago

      Thank you for the kind remarks. I would say your request is reasonable and it’s something I thought about but it’s worth noting that if you scroll down on a Goodreads book page you can see all of the users who gave it 1 star, 2 stars, etc (not just reviews, ratings too). And in fact Goodreads does not tell people this but these lists include private users. So someone looking to cause controversy would probably just find an incendiary book and look for everyone who gave it 5 stars. My data does not include people who marked their account as private or only visible to those who are signed in and also does not give information on stars. It is also very easy to remove your data if you are so inclined. I only log request URLs but I can tell that many thousands of people visited the site and less than 10 opted out despite “Remove My Data” being prominently displayed and referenced in the attached text to my post.

      Also, I don’t use them but based on forum posts I read I think other services like LibraryThing or Storygraph do expose similar information about book readers.

    • zeroq 11 hours ago

      It always baffled me how we censor "Mein Kampf" but we - as a society - are super fine with either Alex Jones shouting about lasers and lizard people or Joe Rogan leaving an open mic to people claiming there are nuclear plants and space stations buried under pyramids [1].

      Mein Kampf is absolutely terrible piece of literature not by it's message but by it's quality. It's exactly something I would expect to find in Alex Jones cell if we would sentence him to a year of solitary confinement.

      [1] just a tiny exaggeration

    • colechristensen 10 hours ago

      I don't want "safety" or "ethics" if the requirements for them are banning or hiding books based on somebody's ideology whether or not it agrees with mine.

      • cyrusradfar 7 hours ago

        I'm not asking him to hide the book recommendations, I'm talking about the "intersect" user feature not doxxing people reading them.