🚀 Inspiration Every reader has faced this: you finish a great book and wonder, “What should I read next?” Traditional book recommendations are filtered by genres or bestseller lists — but what if you want “a book like Atomic Habits, but funnier” or “a dark yet hopeful coming-of-age story”?

We wanted to reimagine book discovery through the lens of AI, powered by semantic search, natural language understanding, and LLM-driven reasoning — to recommend books that truly match a reader’s mood, theme, or vibe.

📚 What it does LitLens lets users describe what kind of book they’re in the mood for — not just genres, but feelings and ideas. It then:

Parses the query into a semantic vector

Retrieves matching books from a MongoDB Atlas collection using vector search over embedded book summaries and tags

Generates smart, human-like explanations of why the books match using LangChain and an LLM

Displays live Google Books previews

(Optional) Lets users add reading goals to Google Calendar

🛠 How we built it Dataset: We curated and enriched the Goodreads Books Dataset with summaries and top genres using tags and the Google Books API.

Embeddings: We used Hugging Face’s SentenceTransformers (all-MiniLM-L6-v2) to generate embeddings for each book’s description + tags.

Database: Books were stored in MongoDB Atlas with a vector index on embeddings for fast similarity search.

Backend: Built using FastAPI, the backend supports semantic search and calls the Google Books API for real-time previews.

LangChain: We used LangChain with OpenAI to generate reasoning for recommendations based on query context and matched results.

Frontend: Built with Streamlit for rapid prototyping and rich UI components.

😅 Challenges we ran into Data completeness: Many books lacked summaries or tags; we had to fill gaps using Google Books API.

Vector tuning: Getting good search results required thoughtful prompt engineering and query embedding tweaks.

LangChain prompt balance: We experimented with multiple prompt structures to balance clarity and creativity in LLM explanations.

Rate limits: API calls (e.g., OpenAI, Google Books) had to be optimized to stay within free tier limits.

🏆 Accomplishments that we're proud of Seamlessly integrated vector search, semantic NLP, and generative reasoning in a single experience

Built a system where users can search using natural language like “uplifting sci-fi with emotional depth”

Created an intuitive UI that brings together personalized recommendations, live previews, and goal setting

Kept the system fast, scalable, and developer-friendly with MongoDB Atlas and modern APIs

🧠 What we learned How to leverage MongoDB vector indexes for semantic search at scale

Effective embedding strategies for mixed text sources (descriptions + tags)

Prompt engineering in LangChain to shape LLM outputs with structured input

Real-world trade-offs between classical recommendation systems and LLM-enhanced RAG

🔮 What's next for LitLens — AI-Powered Book Discovery Engine 🎯 Personalized profiles to tailor recommendations to user history, reading pace, and mood

🗣 Voice input for describing what you want to read

🤝 Social book-matching — connect readers based on shared reading vibes

📈 Recommendation analytics — track engagement, revisit trends, and AI-personas

🌍 Multi-language support — extend recommendations to regional literature

📲 Package as a mobile-first app for broader access and book tracking

Built With

Share this project:

Updates