🎬 Movie Recommender System

Aug 2025

A production-ready recommender app with SVD collaborative filtering, an AI Movie Assistant powered by Ollama, and full user flows: authentication, ratings, preferences, and watchlist.

🚀 Open Live Demo

Snapshots

Onboarding and ratings UI
Onboarding & ratings
AI Movie Assistant with Ollama
AI Movie Assistant (Ollama)

🚀 Key Features

Core Recommendation Engine
  • SVD-based collaborative filtering & cosine-similarity “similar movies”.
  • Search over MovieLens titles; quick cold-start via content fallback.
  • Retrain instantly after new ratings.
AI-Powered Assistant
  • Local LLM via Ollama (e.g., phi, gemma:2b).
  • Natural-language queries (e.g., “sci-fi thrillers from the 2010s”).
  • Hybrid: cross-references AI suggestions with your catalog & preferences.
User Management
  • Sign up/in, profile, preferences (genres/decades).
  • Ratings & watchlist with instant feedback.
  • SQLite today, structured for easy Postgres/RDS migration.

🛠️ Tech & Setup

  • Stack: Python, Streamlit, Surprise (SVD), SQLite, Ollama.
  • Run locally: pip install -r requirements.txtpython api/main.pystreamlit run streamlit_app_enhanced.py.
  • Ollama: ollama pull phi (or gemma:2b) and keep ollama serve running.
  • Docker: docker-compose up --build.

Explore the full repository for scripts, tests, and deployment: GitHub →

🔧 Architecture (Collapse/Expand)

Recommendation & Data

Surprise SVD for MF, cosine item-embeddings for “similar,” MovieLens-Small import, real-time model refresh after ratings.

App & API

Streamlit multipage UX (Home, Recommendations, AI Assistant, Profile). Clean DB ops for users, ratings, watchlist, and search.

Security

Passwords hashed (SHA-256 + salt), parameterized SQL, no external data sharing; AI runs locally.