A high-fidelity movie discovery platform built with an Amazon Prime Video–inspired interface. It combines a FastAPI-based machine learning backend with a Streamlit frontend to deliver an interactive movie recommendation experience.
-
Custom dark navy theme inspired by modern streaming platforms
-
Glassmorphism effects and hover-scale interactions
-
Clean, distraction-free browsing experience
-
- Hybrid recommendation system using:
- TF-IDF content-based filtering
- Genre-based clustering
- Similarity-driven movie recommendations
-
- Displays trending movies dynamically
- High-resolution backdrop images
- IMDb rating integration
-
- Autocomplete suggestions
- Keyword-based search functionality
- Integrated with TMDB API
-
- Horizontal navigation bar
- Streamlined layout without sidebar dependency
- Web-app-like user experience
- Frontend: Streamlit (Python)
- Backend: FastAPI (Python)
- Machine Learning: Scikit-learn, Pandas, NumPy
- Data Source: TMDB API, IMDb dataset
├── app.py # Streamlit frontend
├── main.py # FastAPI backend
├── requirements.txt # Project dependencies
├── data/
│ ├── df.pkl # Processed dataset
│ ├── tfidf_matrix.pkl # Feature vectors
│ └── imdb_movies.csv # Raw dataset
git clone [https://github.com/parinaB/MovieRecommend.git](https://github.com/parinaB/MovieRecommend.git)
cd MovieRecommendpython -m venv .venv- Mac/Linux:
source .venv/bin/activate- Windows:
.venv\Scripts\activate- Install dependencies
pip install -r requirements.txt-
Run the application
- Start backend:
uvicorn main:app --reload
- Start frontend:
streamlit run app.py- Multilingual support with language selection
- User authentication and personalized watchlists
- Collaborative filtering based on user behavior
Ensure the FastAPI backend is running at:
http://127.0.0.1:8000The Streamlit frontend communicates with the backend via the API_BASE configuration.