Machine Learning · NLP2022

Movie Recommendation & Review Intelligence Engine

A content-based movie recommender combining cosine similarity, TMDB metadata, IMDb review scraping, and NLP sentiment analysis in a Flask application.

Pythonscikit-learnCosine SimilarityFlaskTMDB APIBeautifulSoupNLTK
Project summary

Impact

Top-10 recommendations

content similarity plus review sentiment in one movie discovery experience

Hiring signal

What this proves

Classical ML fundamentals, feature engineering, similarity search, external API integration, web scraping, NLP inference, and Flask delivery.

My role

Ownership

Developer · data preparation, recommendation logic, Flask backend, TMDB integration, IMDb review scraping, sentiment model integration, and UI flow

Status

Public machine-learning project · source available

Source or architecture details are available where applicable.

The problem

What needed to change

Movie discovery is often limited to generic popularity rankings. The objective was to recommend titles that are content-similar to a selected movie while also presenting metadata, cast information, and review sentiment.

My approach

How I built it

The engine constructs a CountVectorizer feature matrix from combined movie attributes and applies cosine similarity to rank the ten nearest titles. A Flask backend serves recommendations, TMDB supplies movie and cast metadata, and BeautifulSoup extracts IMDb reviews for classification through persisted NLP vectorizer and model artifacts.

Architecture judgment

Why this design

Content-based filtering operates without user-interaction history and provides an interpretable similarity mechanism: titles are ranked according to the angular proximity of their engineered feature vectors.

Architecture

High-level system design

The complete execution path, service boundaries, data stores, security controls, validation stages, and operational telemetry.

Implementation

Key components

  • Content-based recommendation using combined movie features
  • CountVectorizer feature matrix and cosine similarity ranking
  • Top-ten recommendation generation excluding the selected movie
  • TMDB metadata, posters, genres, cast, runtime, and ratings
  • IMDb review extraction with BeautifulSoup
  • Persisted NLP vectorizer and sentiment classifier
  • Flask application with autocomplete and recommendation views

Technology

Tech stack

Machine Learning

scikit-learnCosine SimilarityCountVectorizerNLP

Backend

PythonFlaskGunicornJinja2

Data

PandasNumPyIMDb datasets

Integration

TMDB APIBeautifulSoupRequestslxml

Interactive trace

See the workflow run

recommendation engine · cosine similarity & NLP sentiment pipeline

Run the trace to see the main workflow stages.