Shelf Help: A better book recommendation tool

Melissa Foley, Senior User Experience Designer

Article Categories: #Design & Content, #News & Culture, #Tooling

Posted on

Finding your next favorite read doesn’t have to be a guessing game.

One of the problems I have as a romance novel enthusiast is finding my next favorite read. I have very specific book interests, but struggle to find exactly what I’m looking for. The book recommendations I get on Goodreads or Amazon don’t really help. Despite knowing what’s in my digital library, they often direct me to books I’ve already read or authors I keep rejecting. 

Like me, many Viget employees are passionate about books, and we even have a #books channel on Slack, a book club, summer books bingo, and an annual books roundup. With so many avid readers, I found it fitting to tackle a book-related challenge during Pointless Palooza and pitched a better book recommendation tool.

Tommy Rehnert and our top book lover, Laura Sweltz, joined me in the challenge of bringing Shelf Help to life during Viget's annual hackathon. Over the course of a few days, we had the opportunity to explore new tools, build something fun, and advance our personal skills. 

Researching What’s Out There

We started by mapping out the key features of our MVP (minimum viable product), the problems with current options, and the features from the better tools. 

We reviewed several book recommendation tools. Ones like Goodreads let you pick from a list of pre-determined genres, but don’t let you get more granular than that. A tool like Storybook lets you pick up to five genres and add a list of books and book characteristics you like, but it seems to focus a lot of attention on excluding topics you aren’t interested in. 

This more nuanced approach is definitely a step in the right direction, but book preferences can be fluid and change over time, so it might not be the best way to narrow down what you want to read right now.

A tool like Whichbook doesn’t provide personalized recommendations but does offer unique ways to browse for books. You can use sliders to refine your preferences across a wide range of moods and emotions, locations, plots, and character traits, including age, race, and sexuality.

Determining What We Wanted

We wanted to build an AI-led product that lets you use plain language to find book recommendations. The open query format lets you combine variables to focus on the most important things to you in that moment. Things like genres, but also sub-genres and specialties; topics of interest; locations; times of year; styles of writing; authors similar to those you like; length of the book; ease of reading; etc.

We want to go down the proverbial reading rabbit hole. Right now, these kinds of granular recommendations are common on message boards, social media, and Reddit. But often, they are limited to who is responding in the moment, causing you to miss out on some really good books.

 “Give me a cold, atmospheric 'Locked Room' mystery set in a remote snowy location, ideally in Scandinavia or the Swiss Alps. I want the prose to be 'Sparse' and 'Gritty'—nothing cozy. Crucially: do not suggest anything by Agatha Christie or Lucy Foley, and ensure none of the results are in my 'Already Read' library. I’m looking for a book under 350 pages that focuses on psychological tension rather than a police procedural.”

In addition to a plain-language interface, we wanted the ability to import your library to help the AI understand the types of books and authors that interest you most. You can already easily download a CSV file of the books you’ve read from Goodreads. Adding a library also removes any books you’ve already read from your recommendations.

Bringing Shelf Help to Life

With only a few days to complete the project, simplicity was key. With the list of requirements and potential future enhancements in hand, we got to work making Shelf Help a reality.

Tommy jumped into Figma to design the screens that would become Shelf Help. Leading with an open query and using an interface similar to most AI products, such as ChatGPT, Claude, and Perplexity, felt like following a pattern users would be familiar with and would help with ease of adoption. 

The results page provides you with a list of very tailored recommendations, while also showing you how many results have been excluded that you’ve already read. You can click a book to view more details, including a full description, page count, prose style, and publication year.

If you have read the book, but it’s not in your library, you can click “mark as read” to add it to your library and remove it from your recommendations. The thumbs-up and thumbs-down buttons let you add the book to your to-be-read list in your library or remove it from future recommendations. 

The design also indexes your recent searches on the home screen, allowing you to review recommendations. You can see all your past searches in “The Stacks,” which is organized by query and allows you to search for specific queries, books, or authors.

Collaborating via Figma, Slack, and Huddle, we worked out the details. Once the design felt good, Tommy used Base 44 to convert the Figma designs into a functional app using a series of prompts, refining as he went.

Pros of using Base 44 for this project:

  • Easy to build and update through the chat feature
  • No coding required
  • Produced a fully functional app quickly

While the process was pretty smooth, there were some cons that developed:

  • Not all of the prompts were followed
  • Images didn’t load for the book covers
  • Unclear what content was scraped to “teach” the AI
  • Most book recommendations were fairly dated, with only a few suggestions published after 2020.
  • Some book recommendations were for books that don’t exist

The Result

You can import books you’ve already read to your library, ask for specific book recommendations, save your search results in the stacks, and add books that sound interesting to your to-be-read shelf.

What started out as a way to fix my own book-finding problem turned into something real. Building this app with Tommy and Laura’s help during Pointless Palooza gave me a chance to finally create something that could end our frustration. 

Shelf Help might only be a working prototype, but it’s proof that finding your next favorite read doesn’t have to be a guessing game. Using plain language to ask for exactly what you want, and having an AI actually understand your preferences, feels like the kind of tool readers have been waiting for. It’s not perfect yet, but it’s a solid start toward reinventing how we discover books that truly fit.

Melissa Foley

Melissa is a senior user experience designer. With the goal of making websites more user-friendly and accessible, she focuses on information architecture and content strategy.

More articles by Melissa

Related Articles