About BookForYou
BookForYou is a recommendation engine that finds books by the feeling and tropes you're after and not just the genre on the spine. Tell it the kind of story your soul seeks, and it surfaces the closest matches.
What it does
Most recommendation tools match on keywords, ratings, or "people also bought." BookForYou works on narrative tropes i.e the slow-burn romances, morally grey villains, found-family arcs, and unreliable narrators that actually make you love a book. Describe what you want in plain language, or pick tropes directly, and it does the matching.
How it works
- 1. Understand your request. A fine-tuned BART language model maps your free-text description onto a curated taxonomy of narrative tropes so "enemies who slowly fall for each other" becomes the right structured tags.
- 2. Search by meaning. Your tags are compared against every book in the library using semantic (vector) search, so matches are based on meaning and overlap rather than exact words.
- 3. Rank and explain. Results are scored by how strongly their tropes overlap with yours, and each recommendation shows why it matched the shared tags, not a black box.
Under the hood
The model is a fine-tuned BART-Base, trained to map unstructured book descriptions to the trope taxonomy, a ~60% improvement in tag accuracy over a T5 baseline, with a sub-4% hallucination rate. The backend runs on FastAPI with vector search; the frontend is built with Next.js and deployed on Vercel.
Why I built it
BookForYou was born out of personal passion. As an avid reader, I always wanted a system that worked the way I actually think about books; by their tropes. I wanted to search for exactly the slow-burns, the morally grey leads, and the found-family arcs I was in the mood for, and get recommendations that specific. No tool did that the way I imagined, and as a software engineer, I knew I could make it happen so, I built it.
Have a suggestion?
BookForYou is always improving. If a recommendation missed, or you want a trope or feature added, send feedback.