
Final Project for the TBC x Geolab Bootcamp
A smart, personalized movie recommendation system that suggests films tailored to each user's unique taste.
This project was developed as part of the TBC x Geolab Bootcamp.
- 👨💻 Gurjaka – Core development, design, documentation
- 🤝 Lol0kv28 – Initial collaboration and feedback
TBC-Final/
├── data/ # Dataset CSV files (movies.csv, ratings.csv, etc.)
├── src/ # Source code
│ ├── main.py # Main entry point
│ ├── train.py # Model training scripts
│ ├── utils.py # Utility functions
│ └── test.py # Unit and debugging tests
├── .envrc # Environment config (direnv)
├── .gitignore # Git ignore rules
├── flake.nix # Nix shell configuration
└── flake.lock # Nix lock file
Download the required datasets from Kaggle:
Movie Recommendation System Dataset
Place the files (movies.csv
, ratings.csv
, etc.) inside the data/
folder.
- 📊 Efficient loading and merging of movie metadata and user ratings
- 👤 Builds personalized user profiles based on favorite movies, genres, and rating timestamps
- 🔍 Finds users with similar tastes for collaborative recommendations
- 🎯 Recommends highly rated movies from similar users that the target user hasn’t seen
- 🤝 Combines content-based (genres) and collaborative filtering (user similarity) for hybrid recommendations
- Python 3.8+
- Key Python packages:
- pandas
- numpy
- scikit-learn (for similarity calculations)
- requests (optional, for TMDB API integration)
-
Clone the repository:
git clone https://github.com/Gurjaka/Personal-movie-recommendation-model.git cd Personal-movie-recommendation-model
-
Install dependencies:
Using pip:
pip install -r requirements.txt
Or if you use Nix flakes:
nix develop
-
Add datasets (
movies.csv
,ratings.csv
) to thedata/
directory.
-
Train the model and save as
hybrid_model.joblib
:python src/train.py
-
Run the main application (Gradio interface):
python src/main.py
This will load data, build user profiles, and provide personalized movie recommendations.
-
(Optional) Generate visualizations:
python src/visualize.py
Note: Additional debugging and test scripts are available in the
src/
directory.
This project was created as part of the TBC x Geolab Bootcamp.
The TBC logo and related branding are owned by their respective entities and may not be reused, modified, or redistributed without permission.
Feel free to fork or use the code under the terms of the MIT license — but do not use the TBC logo or project branding in your own versions or hosted apps.
MIT Licensed — see LICENSE for details.