---
# System prepended metadata

title: Planning Document

---

ww# Planning Document

## Part I: Short Informal System Description

We are building an LLM-powered explorative book recommendation system. The system will allow users to iteratively and actively explore new books in an interactive process with the LLM engine.

Based on the user input (books, authors, text input, toggle boxes, …) there will be one book recommendation that updates on change of input.

## Part II: User Stories

> "As a user, I want to use one tool that knows all the books and understands exactly what I am looking for, so I can find the best books effortlessly."

> "As a user, I want to find new books in a way that is fun."

> "As a user, I want to find new books quickly and effortlessly.”

> "As a user, I want to use software that is elaborate, intuitive, and well-designed."

> "As a user, I'd like to take part in the often inaccessible recommendation process by providing what I'm looking for."

> "As a user, I want to explore books by specific themes or topics, so that I can find books related to my current interests."

> "As a user, I want to provide feedback on recommendations, so that the system can improve on future suggestions."

## Part III: Software Requirements Specification

### **1. Purpose**

The purpose of this document is to outline the software requirements for BookBuddy, a personalized book recommendation system designed to provide an engaging and interactive book discovery experience.

BookBuddy aims to solve the problem of impersonal and unengaging book recommendation systems. By leveraging a large language model (LLM) and interactive features, BookBuddy will offer personalized book suggestions.

### **2. Overall Description**

#### **2.1 Product Perspective**

BookBuddy is a new, standalone system that integrates with existing book 
bases such as Bookbrainz. It will utilize an LLM for generating recommendations and interactively refine them based on user input.

##### Interfaces

+ Web-Frontend (User-Facing):
    + User interacts only with this interface
    + Communicates with the Web-Backend over a socket connection to update information
    + Based on few necessary JS scripts, CSS, and HTML

+ Web-Backend (Serverside):
    + Serves recommendations via socket connection
    + Implemented using the Django Framework
        + Templating
        + DB Model ORM
        + Routing
    + Interacts with the LLM agent via API in a non-blocking manner
        + Can be done using Celery and RabbitMQ

#### **2.2 Product Functions**

1. **Book Exploration**: Users can find new books through an interactive feed. They can provide input iteractively to refine book recommendations.
2. **Reading Tracker**: Users can log their readings, rate them, give notes/reviews.

#### **2.3 User Characteristics**

- **General Users**: Users seeking personalized book recommendations.
- **Avid Readers**: Users who frequently read and seek new book suggestions.
- **Software Enthusiasts**: Users who are fascinated about using new state-of-the-art and well-designed software products.

#### **2.4 Operating Environment**

BookBuddy will be a web-based application, accessible through modern web browsers on desktop and mobile devices. It will utilize cloud services for hosting and data storage.

#### **2.5 Design and Implementation Constraints**

- Integration with external book databases and APIs (e.g., Bookbrainz, Gutenberg Project).
- Interactive recommendations (sockets, threading, compute, ...).
- Ensuring data privacy and user security (Django native security features, ...).

#### **2.6 Assumptions and Dependencies**

- Reliable access to external book databases (either public domain or open source).
- Availability of a robust LLM framework (e.g., LangChain, DSPy).
- Sufficient resources for hosting and maintaining the application.

### **3. Specific Requirements**

#### **3.1 Functional Requirements**

#### **3.1.1 User Registration and Authentication**

- **FR1.1**: The system shall allow users to register and login with an email, username and password.
- **FR1.2 (optional)**: The system shall provide OAuth integration for third-party login options (e.g., Google, Facebook).

#### **3.1.2 Book Exploration**

- **FR2.1**: The system shall provide an interactive feed for book recommendations.
- **FR2.2**: The system shall allow users to apply predefined filters (e.g., genre, author).
- **FR2.3**: The system shall allow users to iteratively refine recommendations on send by providing additional information.

#### **3.1.3 Reading Tracker**

- **FR3.1**: The system shall allow users to log recently read books.
- **FR3.2**: The system shall allow users to rate their read books.
- **FR3.3**: The system shall allow users to annotate / review their read books.
- **FR3.4**: The system shall provide some basic statistical insights into a users reading habits.

#### **3.2 Non-Functional Requirements**

#### **3.2.1 Reliability and Safety**

- **NFR1**: The system shall implement output filtering to avoid hallucinations.
- **NFR2**: The system shall implement input filtering to avoid code or LLM injections.
- **NFR3**: The system shall constraint user LLM queries by implementing a maximum number of requests per time and user.

#### **3.2.2 Security Requirements**

- **NFR4**: The system shall ensure user data privacy and comply with relevant data protection regulations.
- **NFR5**: The system shall encrypt sensitive user data in transit and at rest.

#### **3.2.3 Usability**

- **NFR6**: The system shall have an intuitive and user-friendly interface.

#### **3.2.4 Achievement System (Bonus, if time given)**

- **NFR7**: The system shall reward user engagement regarding recommendation feedback by providing achievement points.
- **NFR8**: The system shall reward user system interactions (logging, reviewing, ...) by providing achievement points
- **NFR9**: Achievement points can be traded against exploration calls.
- **NFR10**: The accumulation of achievement points gets you rewarded with a user-specific level and badges

#### **3.3 External Interface Requirements**

#### **3.3.1 User Interfaces**

- **UI1**: The main interface shall provide access to book exploration and reading tracker.

#### **3.3.2 APIs**

- **API1**: The system shall integrate with Bookbrainz API for fetching book data.

#### **3.4 System Features**

#### **3.4.1 Book Exploration**

- **SF1**: Interactive feed with recommendation updates.
- **SF2**: Filters for recently read books, genre, author, and other book attributes.

#### **3.4.2 Reading Tracker**

- **SF3**: Logging and rating recently read books.

### **4. Evaluation and Validation**

#### **4.1 Evaluation Metrics**

- Validity of recommendations (do those books exist?).
- User satisfaction based on surveys and feedback.
- System uptime and response time statistics.

#### **4.2 Testing Requirements**

- User acceptance testing to ensure usability and functionality.

## Part IV: **Epics**

### Component 1: Backend

**Milestones**:

- [ ] Set up hosting environment
- [ ] Implement user authentication and authorization `MVP`
    - Create user models
    - Build underlying authorization system in Django backend
- [ ] Model book objects in DB `MVP`
- [ ] Fill book DB with relevant data from BookBrainz `MVP`

**Metrics**:

+ [ ] Hosted Web-App has reliable and high up-time 
    + (> 90%)

### Component 2: LLM Component

**Milestones**

- [ ] Create Simple LangChain pipeline to process a user text prompt `MVP`
    - Just plain Text input
    - Formatted output that allows us to parse:
        - one book title that serves as the model's recommendation
        - one justification that explains the recommendation
    - Example-Based Priming through Prompt
- [ ] Create Vector Store for book data `MVP`
    - Do this using Data from Wikipedia and other Creative Commons Book Summaries
- [ ] Enhance prompt by providing examples of similar books `MVP`
    - Do this using the vector store of book data
    - Fine-tune the way these similar books have effect on the result with DSPy
- [ ] Include user defined criteria in prompt
    - Similar books
    - Similar authors
    - Year after / before
    - Genre
    - ...
- [ ] Enhance prompt by providing a user's personal history
    - Use the user's previous book ratings
    - Use the user's previous book reviews
- [ ] Handle Book Hallucinations `MVP`
    + Backcheck the LLM output with our book DB (BookBrainz)
    + Reprompt if no book can be found
- [ ] Create interactive prompt process in LangChain 
    - If the user is not satisfied with the first recommendation

**Metrics**

- [ ] Book Parsing: number of book titles that could be parsed successfully / number of total requests (DSPy)
- [ ] Justification Parsing: Number of recommendation justifications that could be parsed successfully / number of total requests (DSPy)
+ [ ] Hallucination: number of requests that output existing books / number of total requests
    + minimize total repromts caused by invalid books (DSPy)

### Component 3: Frontend

**Milestones**:

- [ ] Create exploration page that includes recommendation, text input, filters, and "send" button `MVP`
- [ ] Exploration page can be interacted with to show recommendations `MVP`
    - Develop frontend using chosen framework (e.g., Django or React)
    - Integrate frontend with backend APIs
- [ ] Create user profile page with important personal infos
- [ ] Create authorization pages `MVP`
    - login, logout, sign up, ...
- [ ] Create reading tracker page
    - includes list of books
    - reading progress per book
    - rating
- [ ] Create library page to search for books
- [ ] Create landing page
- [ ] Create user-guide page

**Metrics**:

- [ ] Google Lighthouse Score
    - To check the page's accessiblity in compliance with W3 standards 

### Component 4: User Testing

**Milestones**:

+ [ ] Implement basic Google form for evaluation `MVP`
    + Net Promoter Score
    + Optional comment
+ [ ] Collect users `MVP`
    + Advertise on social media
    + Recruit friends and family
+ [ ] Implement form that shows up after "n" recommendations
    + Uses Net Promoter Score
    + Optional comment
+ [ ] Reward users for completing 


s
    + Give users incentives (in the form of "BookBuddy points") to do the surveys this way
    + Make surveys optional but incentiviced
    + Mitigate negative association with having to complete a survey
+ [ ] Implement evaluation system for own surveys
    + Do this using Django ORM Models

**Metrics**:
- [ ] Net Promoter Score
- [ ] Customer Satisfacation Survey

### Component 5: Reliability and Safety

**Milestones**:

+ [ ] Give short justification with every recommendation / improve explainability
    + Be transparent in showing why a book was recommended to avoid exploitation of the user
+ [ ] Handle the recommendation toxic or harmful books `MVP`
    + Create blacklist containing toxic or harmful books
    + Compare output to blacklist entries, cancel if matched

**Metrics**:

+ [ ] User Study: Qualitative analysis of recommendation justifications
    + Are justifications relevant to the recommended book
    + Manual prompt modification depending on the model performance
+ [ ] Harmful Output: number of blacklisted recommendations / number of total recommendations


## Process

+ We aim to use a SCRUM like agile developement process to not be too constrainted by a fixed time frame
+ In regular Sprint meetings we want to update the current developement progress and set new small scale goals for the next sprint

## Evaluation Brainstorming 06.06.
- compare recommendations of our system with recommendations of classical recommender systems when given the same inputs
    - assumption: if our model performs competitively, we assume additional inputs will make it even better (more personalized, etc.)
        - this is still debatable, but it does give us an objective basis
    - important considerations:
        - prompt optimization with classical recommender performance might not optimize performance given additional inputs
            - it might not even be (positively) correlated
        - even if our system gives very different recommendations with base inputs, that doesn't necessarily mean it performs poorly — it might, for example, think outside the box (again, what makes a good recommendation?)
            - but it does mean we do not have an objective basis for asserting model performance

## Evaluation Brainstorming 12.06.
- Evaluate on our own test-eval pipeline (see diagram)
- Create test data set consisting of $n$ samples
    - Each sample consists of input and target fields
        - Input: prompt to the LLM
        - Target: Selection of fitting target recommendations
    - Samples are chosen so that they reflect equally distributed target recommendations
    - Test cases are curated by us
        - Write example prompts ourselfs
        - Take inspiration from forum posts like:
            - [Goodreads: What's the name of that book?](https://www.goodreads.com/group/show/185-what-s-the-name-of-that-book)
            - [Reddit: Suggest me a book](https://www.reddit.com/r/suggestmeabook/)
    - Refine with input from external people (fellow students and friends)
        - Validate exsiting target books 
        - Suggest missing target books
        - Possibly incentivize annotation with money to ensure quality
        - [Expample Questionaire](https://docs.google.com/forms/d/e/1FAIpQLSdV1nA9Hef98sJexccCIt1VlDxTtV_nPbxmvgjYJMmbqkoZOw/viewform)
- Advantages: Prompt-LLM output can be quantitatively evaluated; 
- Limitations:
    - Test data might be biased with regards to our own opinion
        - Hopefully mitigated throgh external validation
    - Test data instances could be too easy
        - We address this issue by diversifying our prompt-target sources (reddit r/suggestmeabook, goodreads lists, experts)

![evaluation(1)](https://hackmd.io/_uploads/rk5n3SvHC.svg)

## Evaluation Brainstorming 13.06.
either, Schlangen's input:
- let users fill out a list of >= n books to create a vectorial user profile
- new recommendations should be close to these books, or to means of any of the clusters of these books
- Ablating data from Amazon Review kaggle dataset - and let the LLM fill in the gaps to measure performance 
- RAG? DSPy? Existing literature?

IDEA:
- Enhance prompt context with user profile:
    - In the form of their rated books:
        ```
        The user's rating history:
        - Dune [4/5]
        - Ender's Game [3.5/5]
        - ...
        ```
    - Leave one book out and take the (three) most similar books to compute 

or, idea for pivot: make it scientifically valid for this semester’s work, then simply add the user input after submission
- scratch user text input for scientific evaluation, leave only books
- make it perfectly comparable to classical recommender systems
    - hypothesis: we can make the LLM perform as well as traditional recommender systems through prompt engineering
    - then, for us, for fun: add additional fields to, hypothetically, make recommendations even better — but this claim cannot be analyzed scientifically without major resources
    - we might even make an A/B test, in which we ask users how well they think the system performed, with the independent variable being the engine used (LLM / classical recommender system), with users knowing which engine is working
        - maybe if they think it's an LLM, they think the app is smarter / dumber :D

### Reddit Posts

+ > (1) Does anyone remember that episode of spongebob squarepants where he is stuck at the bottom of a canyon (?) and he needs to take the bus to get home, but he can never catch the bus in time? Well, if anyone has a book recommendation that’s similar to that episode, please suggest it to me! [(source)](https://www.reddit.com/r/suggestmeabook/comments/g6eda7/does_anyone_remember_that_episode_of_spongebob/)
    + Autumn in Peking - Boris Vian
    + The Woman In The Dunes - Kobo Abe
    + The Third Policeman - Flann O'Brien
+ > (2) I'm looking for a book to help me understand the anti-intellectualism movement in the United States. With social medias putting the spotlight on extreme reactions during this pandemic, I feel like the whole world is going crazy. This has caused me to become quite apprehensive of the future. Is there any book out-there to help me understand why people seem so drawn to chaos and extreme ideas? [(source)](https://www.reddit.com/r/suggestmeabook/comments/i2g1du/im_looking_for_a_book_to_help_me_understand_the/)
    + The Demon-Haunted World: Science as a Candle in the Dark - Carl Sagan
    + Strangers in Their Own Land - Arlie Russell Hochschild
    + Anti-Intellectualism in American Life - Richard Hofstadter
+ > (3) A book where the protagonist loses his sanity more and more in the course of the story and you no longer know whats real and whats not? [(source)](https://www.reddit.com/r/suggestmeabook/comments/g7y48g/a_book_where_the_protagonist_loses_his_sanity/)
    + The Shining - Stephen King
    + The Haunting of Hill House - Shirley Jackson
    + The Tell-Tale Heart - Edgar Allan Poe
    + Annihilation - Jeff VanderMeer
    + The Yellow Wallpaper - Charlotte Perkins Gilman
    + American Psycho - Bret Easton Ellis
+ > (4) A “reverse 
” where we know who the killer is from the start and watch as they try and stop the detective from cracking the case [(source)](https://www.reddit.com/r/suggestmeabook/comments/nd8wnp/a_reverse_murder_mystery_where_we_know_who_the/)
    + The Talented Mr. Ripley - Patricia Highsmith
    + The Devotion of Suspect X - Keigo Higashino
    + Perfume: The Story of a Murderer - Patrick Süskind
    + Mr Mercedes - Stephen King
+ > (5) Are there any adult coming of age books? Like you're in your 20s/30s and struggling to come to terms with the meaningless drudgery and boredom of adult life? [(source)](https://www.reddit.com/r/suggestmeabook/comments/hq6b7o/are_there_any_adult_coming_of_age_books_like/)
    + Stoner - John Williams
    + The Ocean at the End of the Lane - Neil Gaiman
    + Call Me By Your Name - André Aciman
    + The Secret History - Donna Tartt
    + The Goldfinch - Donna Tartt
    + Eleanor Oliphant Is Completely Fine - Gail Honeyman
+ > (6) Please suggest me a book in which aliens are not bipedal humanoids. As far as I can remember, most of books, movie and TV shows depict aliens as bipedal humanoids which is a bit boring. I want to see or read about intelligent lifeforms which are very different from humans. [(source)](https://www.reddit.com/r/suggestmeabook/comments/17dy5q4/please_suggest_me_a_book_in_which_aliens_are_not/)
    + Project Hail Mary - Andy Weir
    + Children of Time - Adrian Tchaikovsky
    + Lilith's Brood - Octavia E. Butler
+ > (7) A murder mystery where the victim was awful and everyone had a motive to kill them? [(source)](https://www.reddit.com/r/suggestmeabook/comments/168yxc3/a_murder_mystery_where_the_victim_was_awful_and/)
    + Magpie Murders - Anthony Horowitz
    + The Secret History - Donna Tartt
    + Murder on the Orient Express - Agatha Christie
+ > (8) Suggest me a detective/murder mystery that IS NOT about an alcoholic detective going back to their hometown to resolve a cold case that hits close to home. It' just such a tired trope.... I'd like to see some more developed detective characters that aren't so predictable. [(source)](https://www.reddit.com/r/suggestmeabook/comments/167qk88/suggest_me_a_detectivemurder_mystery_that_is_not/)
    + The Murder of Roger Ackroyd - Agatha Christie
    + Sharp Objects - Gillian Flynn
+ > (9) Suggest me a book about a town that's just...off [(source)](https://www.reddit.com/r/suggestmeabook/comments/16wrs54/suggest_me_a_book_about_a_town_thats_justoff/?sort=top)
    + The Lottery - Shirley Jackson
    + We Have Always Lived in the Castle - Shirley Jackson
    + The Castle - Franz Kafka
    + ’Salem’s Lot - Stephen King
    + Pines - Blake Crouch
    + Something Wicked This Way Comes - Ray Bradbury
+ > (10)  Non-fiction book that is so unbelievable it seems like fiction. Ideally well-written and gripping but mostly just that the subject matter is so out there that you think it must be fiction. Except it's not. [(source)](https://www.reddit.com/r/suggestmeabook/comments/17nsalu/nonfiction_book_that_is_so_unbelievable_it_seems/?sort=top)
    + Wolves at the Door: The True Story Of America's Greatest Female Spy - Judith L. Pearson
    + Endurance: Shackleton's Incredible Voyage - Alfred Lansing
    + Unbroken: A World War II Story of Survival, Resilience and Redemption - Laura Hillenbrand
    + Midnight in the Garden of Good and Evil - John Berendt
    + Killers of the Flower Moon: The Osage Murders and the Birth of the FBI - David Grann
    + Into Thin Air: A Personal Account of the Mt. Everest Disaster - Jon Krakauer
    + The Glass Castle - Jeannette Walls
    + Behind the Beautiful Forevers: Life, Death, and Hope in a Mumbai Undercity - Katherine Boo
+ > (11) Suggest me a book where a kid is a psychopath, please? [(source)](https://www.reddit.com/r/suggestmeabook/comments/17n3vh7/suggest_me_a_book_where_a_kid_is_a_psychopath/)
    + We Need to Talk About Kevin - Lionel Shriver
    + The Push - Ashley Audrain
    + Sharp Objects - Gillian Flynn
    + The Bad Seed - William March
    + We Have Always Lived in the Castle - Shirley Jackson
+ > (12) Suggest me your favorite Horror novel NOT by Stephen King [(source)](https://www.reddit.com/r/suggestmeabook/comments/1csa5ui/suggest_me_your_favorite_horror_novel_not_by/)
    + What Moves the Dead - T. Kingfisher
    + The Terror - Dan Simmons
    + Never Whistle at Night: An Indigenous Dark Fiction Anthology - Shane Hawk
    + Red Dragon - Thomas Harris
    + The Silence of the Lambs - Thomas Harris
    + We Have Always Lived in the Castle - Shirley Jackson
    + House of Leaves - Mark Z. Danielewski
    + Interview with the Vampire - Anne Rice
    + The Call of Cthulhu - H.P. Lovecraft
    + The Shadow over Innsmouth - H.P. Lovecraft
    + Dracula - Bram Stoker
    + Frankenstein - Mary Wollstonecraft Shelley
    + World War Z - Max Brooks
    + Coraline - Neil Gaiman
    + The Exorcist - William Peter Blatty
    + Bird Box - Josh Malerman
    + The Picture of Dorian Gray - Oscar Wilde
+ > (13) Books with asshole main character? [(source)](https://www.reddit.com/r/suggestmeabook/comments/1cqxnni/books_with_asshole_main_character/)
    + Gone Girl - Gillian Flynn
    + American Psycho - Bret Easton Ellis
    + Gone with the Wind - Margaret Mitchell
+ > (14) Suggest me a book that is weird, creepy, and depressing. Want something that’ll make me stop and contemplate what I’m reading, preferably nothing in a series but if it’s only a few books I don’t mind.
    + The Hellbound Heart - Clive Barker
    + FantasticLand - Mike Bockoven
    + Monstrilio - Gerardo Sámano Córdova
    + Johnny Got His Gun - Dalton Trumbo
    + The Metamorphosis - Franz Kafka
    + The Trial - Franz Kafka
    + The Road - Cormac McCarthy
+ > (15) What’s the scariest book you’ve ever read? [(source)](https://www.reddit.com/r/suggestmeabook/comments/16am37f/whats_the_scariest_book_youve_ever_read/)
    + The Hot Zone: The Terrifying True Story of the Origins of the Ebola Virus - Richard Preston
    + American Psycho - Bret Easton Ellis
    + We Need to Talk About Kevin - Lionel Shriver
    + The Shining - Stephen King
    + Something wicked this way comes by - Ray Bradbury
    + Pet Sematary - Stephen King
+ > (16) A book with a Studio Ghibli vibe but for grownups [(source)](https://www.reddit.com/r/suggestmeabook/comments/g9owxy/a_book_with_a_studio_ghibli_vibe_but_for_grownups/?sort=top)
    +  Howl’s Moving Castle - Diana Wynne Jones
    +  Neverwhere - Neil Gaiman
    +  The Ocean at the End of the Lane - Neil Gaiman
    +  A Wizard of Earthsea - Ursula K. Le Guin
    +  Norwegian Wood - Haruki Murakami
    +  The Wind-Up Bird Chronicle - Haruki Murakami
+ > (17) It's an inevitable part of the black experience, but what are some good examples of black literature where racism ISN'T the focus? I'm looking for books with black characters just living, thriving, and having a good time. Books with not so happy moments are cool too, but no misery porn please. [(source)](https://www.reddit.com/r/suggestmeabook/comments/osrlpe/its_an_inevitable_part_of_the_black_experience/)
    + A Wizard of Earthsea - Ursula K. Le Guin
    + Get a Life, Chloe Brown - Talia Hibbert
    + Parable of the Sower - Octavia E. Butler
+ > (18) This will sound weird but I'd like a book where the protagonist is going through some tough stuff, but all along he's watched over by someone, be it some god or spirit or whatever. Like, maybe he thinks he's suffering all alone and nobody knows what he's going through, but someone watched it all. [(source)](https://www.reddit.com/r/suggestmeabook/comments/kckjpa/this_will_sound_weird_but_id_like_a_book_where/?sort=top)
    + The Book Thief - Markus Zusak
    + The Horse and His Boy - C.S. Lewis
    + The Lovely Bones - Alice Sebold
    + The Way of Kings - Brandon Sanderson
+ > (19) My brother is going to prison for minimum 25 years and he is 30 so he has quite a long time. He is in because of addiction and all that comes with. I want to give him a book that will help him escape reality and not be so preachy because he knows what he did was wrong. I just want him to be able to find some sort of escape while he’s in there. Any suggestions? [(source)](https://www.reddit.com/r/suggestmeabook/comments/kxy169/book_for_prisoner/)
    + The Color of Magic - Terry Pratchett
    + The Mind Illuminated: A Complete Meditation Guide Integrating Buddhist Wisdom and Brain Science - Culadasa (John Charles Yates)
    + A Game of Thrones - George R.R. Martin
    + The Fellowship of the Ring - J.R.R. Tolkien
+ > (20) I enjoy books about ordinary people going to weird places, but I want a book where the protagonist doesn't get superpowers or magic by going to the magic land. I want them to go to the alternate world and solve their problems with their own human skills [(source)](https://www.reddit.com/r/suggestmeabook/comments/gir8o0/i_enjoy_books_about_ordinary_people_going_to/)
    + The Hitchhiker’s Guide to the Galaxy - Douglas Adams
    + Neverwhere - Neil Gaiman
    + 11/22/63 - Stephen King
    + Dirk Gently's Holistic Detective Agency - Douglas Adams
+ > (21) I have cried 0 times because of a book and I have cried exactly 1 time because of a movie (when BingBong died in Inside Out LMFAO). Why would I like to cry, you ask? It’s because I feel left out and sociopathic!!! I’ve read a lot of books where people say it broke their hearts - most recently Song of Achilles (5 stars btw) - and yeah it’s sad, but I don’t cry. So please rec me a book that shatters my heart so I can cure my Emotion FOMO [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dgydb9/a_book_has_never_made_me_cry_please_make_me_cry/)
    + Where the Red Fern Grows – Wilson Rawls
    + Flowers for Algernon – Daniel Keyes
    + A Thousand Splendid Suns – Khaled Hosseini
    + The Art of Racing in the Rain – Garth Stein
+ > (22) I'm 18 and looking to understand people and the world better. As an introvert, I've always struggled with confidence and courage, but books have been my safe haven. I'm seeking recommendations for books that can help me understand others and myself better. P.S I'm not looking for self-help books. For some reason, I never remember them. Non-fiction is great, just not self-help. Any impactful book that sticks with you would be perfect. Thank you! [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dg6qzk/what_books_should_i_read_before_im_20/)
    + The Hitchhiker’s Guide to the Galaxy - Douglas Adams
    + Slaughterhouse Five – Kurt Vonnegut
    + The Hobbit – J. R. R. Tolkien
    + Lord of The Rings – J. R. R. Tolkien
    + Man’s Search for Meaning – Victor Frankl
    + A Tree Grows in Brooklyn – Betty Smith
+ > (23) I, 23f, have never been in a relationship or even in a situationship, and not for lack of trying or wanting. I’ve gone on dates but I’ve just never found a person that I was super into. I’ve also been turned down. My romantic or sexual experiences with other people can be counted with one hand. I’m sick of all the books about women in their 20’s being about navigating sex and relationships when that is something that I simply can’t relate to. I’d like to read a book about someone like me who struggles with fears of missing out on love, loneliness, not being wanted etc. Basically feeling like there shouldn’t be anything wrong with them but the universe just not throwing them the right people ever. I tried searching but every book I find seems to be about getting over breakups or messy relationships and I’m tired so this felt like the next place. Btw I’m looking for fiction specifically but I won’t turn down a good self-help book either if it’s written by someone who truly gets it. Thank you! [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dggvix/books_for_women_in_their_20s_that_havent/)
    + How to Not Die Alone – Logan Ury
    + Women Who Run with Wolves – Clarissa Pinkola Estes
    + I Who Have Never Known Men – Jacqueline Harpman
+ > (24) Forget taking the high road. I want maximum pain and suffering for the villains. Absolutely no forgiveness. Death is not even enough. Would prefer a protagonist that survived childhood abuse and made everyone who contributed suffer in the end. [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dg9ycr/suggest_me_a_most_satisfying_revenge_story/)
    + The Count of Monte Cristo – Alexandre Dumas
    + Girl with the Dragon Tattoo – Stieg Larsson
    + Best Served Cold – Joe Abercrombie
+ > (25) What books are good for a midlife crisis? Don't know who I am, what I'm doing, why I'm here, what we're supposed to be doing. Are there any novels or non-fiction books about this? [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dglv55/what_books_are_good_for_a_midlife_crisis/)
    + Siddhartha – Herman Hesse
    + One Flew Over the Cuckoo’s Nest – Ken Kesey
    + Valis – Philip K. Dick
+ > (26) Whats one book you will never stop recommending? I want to hear responses of all kinds and why? Was the book captivating, exhilarating ting, a must read, scary, surprising ending…..etc [(source)](https://www.reddit.com/r/suggestmeabook/comments/1df0z18/whats_one_book_you_will_never_stop_recommending/)
    + Jurassic Park – Michael Crichton
    + The Amazing Adventures of Kavalier and Clay – Michael Chabon
    + The Phantom Tollbooth – Norton Juster
    + Watership Down – Richard Adams
    + The Count of Monte Cristo – Alexandre Dumas & Auguste Maquet
    + Perfume – Patrick Süskind
    + The Little Prince – Antoine de Saint-Exupéry
    + _(Maybe prompt too brought?)_
+ > (27) Suggest me a fiction book that made you go "wow, that was clever." Any genre or time. Just a book that made you impressed by the cleverness of the author. [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dfpr4t/suggest_me_a_fiction_book_that_made_you_go_wow/)
    + Faithful Place – Tana French
    + No Country For Old Men – Cormac McCarthy
    + The Necessary Death – Lewis Winter
    + Flatland: A Romance of Many Dimensions – Edwin Abbott Abbott
    + Sirens of Titan – Kurt Vonnegut
+ > (28) Book where someone is totally alone, no one else exists? Looking for a book where someone is totally alone in the world. Maybe reflective and slow paced. Maybe kind of “survival” twist and it’s fast paced. Or a Truman Show esque twist. Sad not preferred. But the main character either is actually the only person in the world, or 100% believes it to be true. [(source)](https://www.reddit.com/r/suggestmeabook/comments/1de5sss/book_where_someone_is_totally_alone_no_one_else/)
    + I am Legend – Richard Matheson
    + Piranesi – Susanna Clarke
    + I Who Have Never Known Men – Jacqueline Harpman
    + Circe – Madeline Miller
    + The Wall – Marlen Haushofer
    + The Martian – Andy Weir
    + Island of the Blue Dolphins – Scott O’Dell
+ > (29) Over the last 6 months I've started getting into reading. I've really enjoyed the following books: Bad Blood - John Carreyrou, Red Notice - Bill Browder, Empire of pain - Patrick Radden Keefe, Snowing in bali - Kathyrn Bonella, Marching Powder - Rusty Young Based on this short list can you please suggest me some books. [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dfnq02/34m_quit_all_social_media_and_started_reading/)
    + Killers of the Flower Moon – David Grann
    + Catch and Kill – Ronan Farrow
    + Strength In What Remains – Tracy Kidder
    + Under the Banner of Heaven – Jon Krakauer
+ > (30) I just broke up with my boyfriend and I feel alone and the house is too damn big. I don't know what to do. Can you please suggest some feel good, funny books for me? Doesn't have to be romantic, but will be nice if there is a sense of community or companionship involved. Thanks! [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dg3kp7/suggest_me_a_feel_good_and_funny_book/)
    + Hitchhikers Guide to the Galaxy – Douglas Adams
    + Good Omens – Neil Gaiman & Terry Pratchett
    + House on the Cerulean Sea – T. J. Klune
    + The Thursday Murder Club – Richard Osman
    + The Very Secret Society of Irregular Witches – Sangu Mandanna
+ > (31) A book with a SUPER satisfying ending? Or a book that leaves you with provocative questions you’re still puzzling over? A book with an ending that felt perfect and made you want to immediately go back and start from the beginning? Give me all your fantastic, meaningful endings. They don’t have to be happy endings, and they can even be ambiguous endings if that feels like the “right”/best ending for the story. I’ve realized that how good the ending is seems to make or break a book for me, so I’m so excited to read all of your recs! Thank you for helping me out of my reading slump! :) [(source)](https://www.reddit.com/r/suggestmeabook/comments/1deyiem/what_was_a_book_with_an_ending_you_cant_stop/)
    + I Who Have Never Known Men – Jacqueline Harpman
    + A prayer for Owen Meany – John Irving
    + Flowers for Algernon – Daniel Keyes
    + Project Hail Mary – Andy Weir
    + The Hunger Games Trilogy – Suzanne Collins
+ > (32) Best books you've read by a Nobel Prize winner? [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dd8y02/best_books_youve_read_by_a_nobel_prize_winner/)
    + Drive Your Plow Over the Bones of the Dead – Olga Tokarczuk
    + Night - Elie Wiesel
    + Of Mice and Men - John Steinbeck
    + The Remains of a Day - Kazuo Ishiguro
    + Blindness - Jose Saramago
    + Six Characters in Search of an Author - Luigi Pirandello
    + One Hundred Years of Solitude – Gabriel Garcia Marquez
+ > (33) Suggest me a book where the protagonist is a smart and good leader. I like books like Ender's game. Where the protagonist outsmart people and have good leadership to lead his people. PS. It doesn't have to be sci-fi, space. Any genre is welcome. [(source)](https://www.reddit.com/r/suggestmeabook/comments/1dbsoqv/suggest_me_a_book_where_the_protagonist_is_a/)
    + Watership Down – Richard Adams
    + The Warrior’s Apprentice – Lois McMaster Bujold
    + Ender’s Game – Orson Scott Card
+ > (34)  Why is it never a powerful woman charming a cautious man? I've read my fair share of romance novels. It would be refreshing to read one with a female lead who's assertive, ambitious and successful, maybe even a bit obsessive and falls for a man who is none of those things - a sweet soul, but shy, introverted and yielding. I just want a love story where the usual dynamic is reveresed. Why is it always the man who's the authoritative figure in these books? I've been searching for something where it's the other way around, but I'm close to concluding no one has ever written it. Please prove that I'm wrong. [(source)](https://www.reddit.com/r/suggestmeabook/comments/ix5dh8/why_is_it_never_a_powerful_woman_charming_a/)
    + The Could Roads - Martha Wells
    + Emma - Jane Austen
    + Gods of Jade and Shadow - Silvia Moreno-Garcia
    + Mexican Gothic - Silvia Moreno-Garcia
    + 1Q84 - Haruki Murakami
+ > (35)  Hi. I'm on my period and I want a short (200 pages or less) romance that will crush my soul. Preferably not YA ... Something that I can read in the next 5-7 days. I've never read a romance book but right now I just feel like reading any kind of love story, happy or sad ending, but that it will make all these feelings that I got bottled up come out. I chose romance to take advantage of the fact that I'm hormonal lol. Also I'm looking for something that will cause me a pain greater than these cramps x_x [(source)](https://www.reddit.com/r/suggestmeabook/comments/ghyuj9/hi_im_on_my_period_and_i_want_a_short_200_pages/)
    + The Song of Achilles - Madeline Miller
    + A Man Called Ove - Fredrik Backman
    + Normal People - Sally Rooney
+ > (36) Mysteries NOT Murder! I love mysteries. I am sick and tired of murder mysteries. Art heists, long cons, robberies, missing person found alive...anything but another murder, please! [(source)](https://www.reddit.com/r/suggestmeabook/comments/n9lnbz/mysteries_not_murder/)
    + The Gardner Heist: The True Story of the World's Largest Unsolved Art Theft - Ulrich Boser
    + The Moonstone - Wilkie Collins
    + The Daughter of Time - Josephine Tey
    + The Shadow of the Wind - Carlos Ruiz Zafón
    + The Mysterious Benedict Society - Trenton Lee Stewart
    + The Red-Headed League - Arthur Conan Doyle
    + Anxious People - Fredrik Backman
+ > (37)  Something dystopian/futuristic that is not YA? Everything seems to be about teenagers saving the world. I'm nearly 40 and it would be good to read about the future but with adults! I like Hunger Games and The Divergent Series. I don't particularly like zombie/alien/vampire/werewolf stuff - I think I'm interested to imagine how human life is going to be in the future. I like time travel as well and anything crime/mystery. [(source)](https://www.reddit.com/r/suggestmeabook/comments/ldyfmi/something_dystopianfuturistic_that_is_not_ya/?sort=top)
    + Wool Omnibus - Hugh Howey
    + Station Eleven - Emily St. John Mandel
    + Oryx and Crake - Margaret Atwood
    + Parable of the Sower - Octavia E. Butler
    + The Fifth Season - N.K. Jemisin
    + The Handmaid’s Tale - Margaret Atwood
    + Leviathan Wakes - James S.A. Corey
    + The Passage - Justin Cronin
    + The Road - Cormac McCarthy
    + Dune - Frank Herbert
    + The Foundation Series - Isaac Asimov
    + 1984 - George Orwell
    + Brave New World - Aldous Huxley
    + Animal Farm - George Orwell
    + Fahrenheit 451 - Ray Bradbury 
    + Slaughterhouse-Five - Kurt Vonnegut Jr.
+ > (38)  I want to get into reading, but as hard as it is to admit, I've become addicted to social media and it is hard for me to focus on reading for long periods of time. Something simple/short but entertaining / exciting, for new readers? [(source)](https://www.reddit.com/r/suggestmeabook/comments/faia2m/i_want_to_get_into_reading_but_as_hard_as_it_is/)
    + Where the Crawdads Sing - Delia Owens
    + The Ocean at the End of the Lane - Neil Gaiman
    + The Da Vinci Code - by Dan Brown
    + Angels & Demons - by Dan Brown
    + The Shining - Stephen King
+ > (39) Suggest me a book that explores the "hollowness" some people acquire while becoming professionals in their 20s and shows that a career is not everything you need in life [(source)](https://www.reddit.com/r/suggestmeabook/comments/jprqun/suggest_me_a_book_that_explores_the_hollowness/?sort=top)
    + Microserfs - Douglas Coupland
    + Burnout: The Secret to Unlocking the Stress Cycle - Emily Nagoski
    + The Artist's Way: A Spiritual Path to Higher Creativity - Julia Cameron
    + Stoner - John Williams
+ > (40) Suggest me a science fiction book that actually makes you question reality and gives you an unsettling paranoid feeling. [(source)](https://www.reddit.com/r/suggestmeabook/comments/jfyowg/suggest_me_a_science_fiction_book_that_actually/?sort=top)
    + Stories of Your Life and Others - Ted Chiang
    + A Scanner Darkly - Philip K. Dick
    + Solaris - Stanisław Lem
    + 2001: A Space Odyssey - Arthur C. Clarke
    + Ubik - Philip K. Dick
    + Dark Matter - Blake Crouch
    + Recursion - Blake Crouch
    + The Dark Forest - Liu Cixin
    + Blindsight - Peter Watts
    + Hard-boiled Wonderland and the end of the world - Haruki Murakami
+ > (41) I like the books The invisible life of Addie Larue and The House in the Cerulean Sea, what book would I also enjoy? [(source)](https://www.reddit.com/r/suggestmeabook/comments/mpo1mw/comment_two_books_you_love_and_get_a_third/?sort=top)
    + Anxious People - Fredrik Backman
    + A Man Called Ove - Fredrik Backman
    + Thursday Murder Club - Richard Osman
    + The Night Circus - Erin Morgenstern
    + The Midnight Library - Matt Haig
    + The Song of Achilles - Madeline Miller
+ > (42) I like Middlesex and Anna Karenina, what book would I also enjoy? [(source)](https://www.reddit.com/r/suggestmeabook/comments/mpo1mw/comment_two_books_you_love_and_get_a_third/?sort=top)
    + The Corrections - Jonathan Franzen
    + A Gentleman in Moscow - Amor Towles
    + One Hundred Years of Solitude - Gabriel García Márquez
+ > (43)  Murakami but women are people? I love Murakami and his particular style and surreal nature, but I am also so bored by how awfully he writes women and generally how they are presented and used within his stories. Any genre and suggestion is ok. Thanks [(source)](https://www.reddit.com/r/suggestmeabook/comments/1558ye5/murakami_but_women_are_people/)
    + Heaven - Mieko Kawakami
    + Breasts and Eggs - Mieko Kawakami
    + Violeta -Isabel Allende
    + The House of the Spirits - Isabel Allende
    + Kitchen - Banana Yoshimoto

+ > (44)  What book would you recommend should everyone read once in their lifetime? I see a lot of these lists of books that everyone should read once in their lifetime and I was wondering which specific book you would recommend.
 [(source)](https://www.reddit.com/r/suggestmeabook/comments/17zndqb/what_book_would_you_recommend_should_everyone/)
    + A Short History of Nearly Everything - Bill Bryson
    + Flowers for Algernon - Daniel Keyes
    + All Quiet On The Western Front - Erich Maria Remarque
    + Man's Search for Meaning - Viktor Frankl
    + Brave New World - Aldous Huxley
    
+ > (45) what is the one book that emotionally destroyed you that took you awhile to recover from? Im in the mood to torture myself, i guess. i want to read something heavy and emotional. maybe it’s masochistic - but i want to hear your most soul crushing suggestions?
 [(source)](https://www.reddit.com/r/suggestmeabook/comments/16r6tmo/what_is_the_one_book_that_emotionally_destroyed/)
    + A Thousand Splendid Suns - Khaled Hosseini 
    + All The Light We Cannot See - Anthony Doerr
    + A Long Way Gone a memoir - Ishmael Beah
    + Where the Red Fern Grows - Wilson Rawls
    
+ > (46) Good books that are ruined by their endings. I personally cannot stomach a poorly conceived and/or executed ending. Which great books should I avoid because of their lacklustre endings?
 [(source)](https://www.reddit.com/r/suggestmeabook/comments/179bm9c/good_books_that_are_ruined_by_their_endings/)
    + Under the Dome - Steven King
    + Game of Thrones - George R. R. Martin
    + The Divergent trilogy - Veronica Roth
    + The Silent Patient - Alex Michaelides
    
+ > (47) One book for the rest of your life. If you had to pick one book to read for the rest of your life, What book would you pick?
 [(source)](https://www.reddit.com/r/suggestmeabook/comments/1ay6rkk/one_book_for_the_rest_of_your_life/)
    + Non fiction: Meditations - Marcus Aurelius
    + Fiction: The Lord of the Rings - J. R. R. Tolkien



Maybe:

+ [(source)](https://www.reddit.com/r/suggestmeabook/comments/1deje87/great_novelsshort_story_collections_from_before/)
+ [(source)](https://www.reddit.com/r/suggestmeabook/comments/152ipf3/im_39_selling_my_house_and_going_to_be_paying/)
+ [(source)](https://www.reddit.com/r/suggestmeabook/comments/14sdsnw/i_just_finished_1984_please_suggest_me_a_book_to/)
+ [(source)](https://www.reddit.com/r/suggestmeabook/comments/p0hidl/help_im_a_traditionally_masculine_adult_male_i/)


### Prep for 27.06.
- one thing that works:
    - mini MVP: explore mode
    - testing pipeline: one-hot implementation

- one thing that doesn't yet work:
    - cosine similarity score for testing pipeline
        - in progress
- how we're gonna implement it:
    - show notebook: methods work, next we're gonna integrate db/model and EvaluationPipeline class and EvaluationInterface

https://docs.google.com/presentation/d/1s6JR3A_L-onIBSK2OPd74OEYxD34xeag6rkXa1u9S7o/edit?usp=sharing

### Notes 27.06.
- compare performance and sensitivity to user input across models (ChatGPT-3.5, ChatGPT-4.0, Llama3, ...)
    - efficiency / performance tradeoff
        - higher efficiency at similar performance is desirable

### Notes 03.07.

- Workflow chart to better explain functionality and components (e.g. open book covers api, recommender, etc.)
- To Do
    - testen, dass books db bei jedem läuft
    - embeddings abrufen in test_prompts
    - model saven und loaden
    - sql prompt anpassen
    - user hinzufügen
    - nans exploren, ggf. fixen

### Notes 04.07.

- Assignment of to dos for MVP presentation

# Major To Dos !!11
- DsPy
- RAG
- Testing Pipeline
- Deployment
- Report

### Notes 29.08.

#### To dos

- kaggel dataset data exploration
- user prompt: justification (maybe critical self-assessment "could be anything else"?) 
    - prompt wording? we chose "manual" approach
    - select manual prompt from set of possible prompts?
    - find citation for "your an expert LLM"
- Introduce UI section
    - justification/thoughts on UI design
    - Running example diagram
    - Flowchart für UI section 
- User testing: switch LLMs für user testing (after initial system is deployable)

#### Prompt eng papers
https://arxiv.org/pdf/2402.07927 systematic survey overview 
https://arxiv.org/pdf/2302.11382 prompt pattern dialogue
https://openreview.net/pdf?id=92gvk82DE- large language models are human level prompt engineer
https://arxiv.org/pdf/2205.11916 LLMs are zero-shot reasoners 