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.
🎬 Movie Recommender System
Aug 2025
Snapshots


🚀 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.txt
→python api/main.py
→streamlit run streamlit_app_enhanced.py
. - Ollama:
ollama pull phi
(orgemma:2b
) and keepollama 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.