← Back to the set

Track 04 / 08 · 2026

MOV.IE REC

Built Solo · AI · Python / Flask

A Netflix-style movie and TV recommender I scoped, built and shipped to a live public site on my own.

Role
Product & engineering, solo
Stack
Python · Flask · scikit-learn · PostgreSQL · Render · TMDB API
Live site
movierec-gzsa.onrender.com
MOV.IE REC on a laptop

The story

A live movie and TV recommender I took from idea to public launch on my own. Recommendations come from a two-stage pipeline: TF-IDF content matching finds candidates, then reranking for quality, recency and collaborative filtering orders them.

It covers 20+ genres, 5 languages and 22+ regional markets, with Google sign-in, a personal watchlist and live TMDB data.

The biggest constraint was size: I cut the similarity index by 97% (1.24 GB to 30 MB) so it could run on Render with PostgreSQL.

Similarity index cut 97% (1.24 GB → 30 MB)

Liner notes

Step by step

  1. MOV.IE REC: Project overview
    01

    Project overview

    Search any title and get recommendations instantly, browse curated genre rows (Action, K-Drama, Romance, Bollywood and more), and save titles to a personal Watchlist. The live site supports 5 languages and 22 global regions.

  2. MOV.IE REC: Watchlist & user features
    02

    Watchlist & user features

    Signed-in users get a personal Watchlist: save any title, mark it as watched, and recommendations improve from that history. Guest Watchlists transfer to the account on sign-up. Google OAuth and email/password login.

  3. MOV.IE REC: Stage 1: content retrieval
    03

    Stage 1: content retrieval

    TF-IDF vectorisation over genres, cast, keywords and overview builds a sparse cosine-similarity index, compressed from 1.24 GB to 30 MB so it runs on a free server. The top 300 candidates come back per query in milliseconds.

  4. MOV.IE REC: Stage 2: reranking & personalisation
    04

    Stage 2: reranking & personalisation

    Candidates are reranked on a blended score: content similarity, Bayesian quality weighting (Rotten Tomatoes and Metacritic) and a recency boost for 2022+ titles. For signed-in users, item-based collaborative filtering blends in a personal affinity vector.