I’ve done some work on an interactive bookshelf as the (beta)final product. The first step is to create an index of all the books on the shelf. Next align the index of the books to physical location of the books (using a ultrasonic range sensor), and add a RGB-ledstrip above the books. Once a book is fetched from the shelf, by using the position information you can now show additional data about the book, and trigger other actions.