CineMind: AI Movie Concierge with Persistent Memory
Inspiration
Finding a movie to watch often becomes an overwhelming experience. Most recommendation systems rely heavily on genres, ratings, or keyword searches, which makes it difficult to discover movies based on themes, emotions, or story concepts.
We wanted to explore how semantic search and AI could make movie discovery more natural. Instead of asking users to browse categories, we wanted them to describe what they were looking for in plain language, such as:
- "space exploration movies"
- "alien communication stories"
- "psychological thrillers"
- "mind-bending science fiction"
This led to the idea of CineMind, an AI-powered movie discovery agent built using Gemini and MongoDB Atlas.
What it Does
CineMind allows users to discover movies through natural language rather than traditional filters.
The application:
- Converts user queries into vector embeddings using Gemini Embeddings
- Performs semantic retrieval using MongoDB Atlas Vector Search
- Stores user preferences as persistent memory
- Maintains recommendation history inside MongoDB
- Delivers personalized movie discovery experiences
Users can save movies they enjoy, and CineMind remembers these preferences across sessions, creating a more personalized experience over time.
How We Built It
The project was built using:
Google Technologies
- Gemini Embedding API
MongoDB Technologies
- MongoDB Atlas
- Atlas Vector Search
- Operational Collections
- Persistent User Memory Collections
Frontend
- Streamlit
Architecture
User Query
↓
Gemini Embeddings
↓
MongoDB Atlas Vector Search
↓
User Memory Retrieval
↓
Personalized Recommendations
↓
Recommendation History Storage
MongoDB serves as both the operational database and the memory layer, while Atlas Vector Search powers semantic retrieval.
Challenges We Ran Into
One of the biggest challenges was working with semantic search quality and understanding how vector retrieval behaves in real-world scenarios.
We experimented with multiple approaches for incorporating user preferences and discovered that recommendation quality depends heavily on how embeddings and vector indexes are generated.
Another challenge was balancing personalization with retrieval performance while keeping the application lightweight enough for rapid deployment.
We also faced deployment and integration challenges while connecting Gemini APIs, MongoDB Atlas, and the web application into a seamless user experience.
Accomplishments That We're Proud Of
- Successfully integrating Gemini Embeddings with MongoDB Atlas Vector Search
- Building a fully functional semantic movie discovery application
- Implementing persistent memory using MongoDB collections
- Creating a complete end-to-end AI workflow from user query to recommendation
- Deploying the application for public access
What We Learned
This project provided hands-on experience with:
- Vector embeddings and semantic search
- AI-powered retrieval systems
- MongoDB Atlas Vector Search
- Building memory-aware AI applications
- Rapid prototyping and deployment of AI products
Most importantly, we learned how operational data, vector search, and persistent memory can work together to create more intelligent user experiences.
What's Next for CineMind
Future improvements include:
- Multi-user profiles
- Better recommendation personalization
- Watch history tracking
- Conversational movie discovery
- Movie watchlist generation
- Social recommendation sharing
We believe CineMind demonstrates how MongoDB Atlas and Gemini can be combined to create intelligent applications that move beyond keyword search and deliver truly semantic experiences.
Log in or sign up for Devpost to join the conversation.