The Machine

The process behind designing a book recommendation web app

The book recommendation web app is part of the website design The Speculative Bookshop a website for a bookstore that specializes in science fiction and fantasy books. The goal of the app is to help someone find a book recommendation by answering questions based on books they have read before. 

The best way to find a new book is to find someone who shares the same taste as you and knows what new books are coming out, and has read widely so you don’t miss out on a classic or a book that is well written but didn’t get a lot of attention when it came out. This design is meant to take the knowledge of a well informed bookseller and translate it into a recommendation tool for a bookstore website. 

People ask for recommendations when they need help finding the next book for themselves, their child or as a gift. All of these users can help find the right book if they know what the reader likes already. 

Since I am working on my portfolio projects alone after my coursework in UX design, I wanted to take advantage of my experience in customer service.

Turns out I’ve been conducting user research all along, as a bookseller. 

The research for this project happened over the course of the years I worked as a bookseller, and I used my memory of giving book recommendations to inform the design. 

I used observations of customer interactions to inform the way that I gave book recommendations. I analyzed my experiences giving recommendations, and identified patterns in those experiences to create a solution for recommending books. 

The easiest way to talk to someone about finding the right book is knowing what they have in mind when they are looking for something. A book you love is a great mental model for books you want to read in the future, and a couple of books gives you a better picture of the taste of the reader. 

Each interaction with a customer was an interview, where I asked them specific questions about what they were looking for. After a while, my questions became more pointed and my line of questioning more efficient. 

As a bookseller, I would start by asking, what have you read lately that you liked? If they didn’t have an answer to that I would ask, what have you hated? Sometimes they have a stronger reaction to what they don’t like, and it’s fun talking about books that annoyed you or tortured you in school. I would give them a couple of suggestions and give them the summary of that book, and based on their reactions to my first ideas I would pick out the next few books. 

When you love to read, the tragedy is finishing a book you loved and having to search for the next book.

That dry spell in between good books is something I’d like to shorten as much as possible, and this tool is meant to fill that gap.

I thought about the benefits and the constraints of tools like NPR’s Book Concierge, NoveList and Goodreads Listopia to create the design. 

The Machine starts with a question about the age of the reader and the genre they are interested in.

Once they choose the age or genre, they are given popular titles from that genre (classics, bestsellers, award winners) because there is a good chance that they would have read some of them. If they don’t recognize any on the list they can add their own. This way, there is a starting point and based on the themes of the books they chose the Machine can start to narrow down their suggestion. 

The user is given the choice to narrow down the selection by entering books they hate, the list can be populated with controversial titles as well as the choices from the previous question. This way, books can be filtered out based on the themes in the books they didn’t enjoy. 

Then, the user gets the option to get the best choice or to browse some titles. The best choice would be chosen based on the themes it has in common with the books it entered. The option to browse would include a wider range of options. 

At the end, the user has the ability to learn about the system by finding out why that book was chosen, showing the themes that it pulled from the books they like (and excluding the ones they hate) along with the book summary and links to booksellers reviews. 

Then the user is given the choice to try again, get more ideas or to reach out to a particular bookseller, if they have a question too nuanced for the Machine.

My goal was to translate the personal book recommendation experience to a web app, and although the benefits of talking to someone in person is the connection you make and the excitement you share about a book, I think the expertise and process can be shared by both methods. 

I learned to translate what I observed about book the recommendation process into a process to something that can be replicated by a machine. 

Next time, I’d love to work with a team to collaborate on research and testing. 

I designed a way to find book recommendations, designed by a bookseller but carried out through a program. I learned how to take my experience and translate them to design research. 

Thank you!

If you’d like to talk to me about this project, please  write to me or find me on twitter!