IntelliFlix is a semantic movie recommender app powered by Sentence Transformers and FAISS, with a clean UI built in Streamlit. It finds similar movies based on plot descriptions using powerful NLP embeddings and fast vector search.
- 🧠 Semantic search based on movie plot summaries
- ⚡ Fast and scalable search via FAISS
- ✨ Embeddings and index hosted on Hugging Face Datasets
- 🖥️ UI hosted on Hugging Face Spaces
- 🔍 Search any movie plot snippet to get relevant recommendations
- 📊 Visualize results with a clean and interactive UI
👉 Try it now: IntelliFlix App
- 🐍 Python – Core programming language
- ⛵ Streamlit – UI framework for interactive web apps
- 💬 Sentence Transformers (
all-MiniLM-L12-v2) – For semantic embeddings - ⚡ FAISS – Fast similarity search and indexing
- 🤗 Hugging Face Datasets & Spaces – For storing and deploying models/data
- 📊 pandas, NumPy – Data manipulation and analysis
- 🧠 scikit-learn – Model training and evaluation
📁 intelliflix
│
├── app/ → [hosted] # Streamlit app files (on HF Spaces)
│ ├── app.py # Streamlit app script
│ ├── requirements.txt # Streamlit app specific dependencies
│ ├── README.md # App-specific README for Spaces
│ └── .gitattributes # Required for HF Spaces
│
├── requirements.txt # Root dependencies for local dev / CI
├── README.md # Main project README
│
├── data/ → [stored remotely] # Movie metadata (on HF Datasets)
├── embeddings/ → [stored remotely] # SentenceTransformer embeddings (on HF Datasets)
├── indexes/ → [stored remotely] # FAISS index files (on HF Datasets)
│
├── notebooks/ # Jupyter notebooks for exploration/training
├── 01-movies_exploration.ipynb
└── 02-semantic_movie_recommender.ipynb
-
🧠 Embeddings & FAISS index are stored in: 👉 uiuxarghya/intelliflix-store
-
🛰️ Streamlit app runs on: 👉 uiuxarghya/intelliflix (HF Space)
-
Clone the repo
git clone https://github.com/uiuxarghya/intelliflix.git cd intelliflix -
(Optional) Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install requirements
pip install -r requirements.txt
-
Run the app
streamlit run app.py
Note: The app will automatically download embeddings and FAISS index from Hugging Face on first run.
- 🎥 Trailer/poster preview via TMDB API
- 🗂️ Genre or actor-based filtering
- 💬 Natural language query support (e.g., "movies like Inception but romantic")
- 🔍 Search by title, genre, or actor
- 📅 Release year filtering
- 📅 Release date sorting
- 🔄 Feedback loop to improve recommendations
- 📊 Show explanation of similarity scoring
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.
Arghya Ghosh 🌐 arghya.dev • 🐙 GitHub • 🔗 LinkedIn
Built with ❤️ for movie lovers and AI enthusiasts.