A content-based recommendation engine for Indian movies, web series and documentaries — spanning multiple languages, genres and OTT platforms.
Each title is represented as a combined text profile (genre + language + type + description), vectorized using TF-IDF, and compared against every other title using cosine similarity. Enter a title you like, and the app surfaces the closest matches by content — not just popularity.
Title search is fuzzy: minor typos or partial names (e.g. "kantar" → "Kantara") still resolve to the right title.
indian-content-recommender/
├── app.py # Streamlit UI
├── recommender.py # Core TF-IDF + cosine similarity engine
├── requirements.txt
└── data/
└── indian_content.csv
pip install -r requirements.txt
streamlit run app.pyThe bundled data/indian_content.csv is a 50-title starter set covering
Hindi, Tamil, Telugu, Malayalam, Kannada and Marathi content across movies,
series and documentaries — enough to demo the app end to end.
To scale it up, replace that file with a larger dataset using the same
columns (title, type, language, genre, platform, year, description).
Good public sources:
- Kaggle: Indian Movies Dataset (50,000+ IMDb) — broad film coverage across languages and genres.
- Kaggle: OTT Movies & Series Dataset — cross-platform movies and series
with descriptions, useful for the
platformandtypecolumns.
No code changes are needed — recommender.py rebuilds the TF-IDF matrix
from whatever CSV is in data/.
- Weight recent titles higher (recency bias)
- Add a hybrid mode blending content similarity with IMDb-style ratings
- Multi-title input ("liked X and Y") by averaging similarity vectors
- Language/platform-only filtering in the sidebar