🚀 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
Log in or sign up for Devpost to join the conversation.