
🎬 Personalized Movie Recommendation System
Final Project for the TBC x Geolab BootcampA smart, personalized movie recommendation system that suggests films tailored to each user's unique taste.
📂 Project Structure
Personal-Movie-Recommendation-System/
├── data/ # Dataset CSV files (movies.csv, ratings.csv, etc.)
├── src/ # Source code
│ ├── main.py # Main entry point
│ ├── train.py # (Optional) Model training scripts
│ ├── utils.py # Utility functions for data handling
│ └── test.py # (Optional) Test scripts
├── .envrc # Environment config (direnv)
├── .gitignore # Git ignore rules
├── flake.nix # Nix shell configuration
└── flake.lock # Nix lock file
📥 Where to Get the Dataset
You can download the required datasets from Kaggle: Movie Recommendation System Dataset
Make sure to download and place the files (movies.csv
, ratings.csv
, etc.) inside the data/
folder
✨ Features
- 📊 Efficient loading and merging of movie metadata and user ratings
- 👤 Builds personalized user profiles from 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 filtering (genres) with collaborative filtering (user similarity) for hybrid recommendations
🚀 Getting Started
Check the Usage Guide to get started.
📌 Branding Notice
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.
📄 License
MIT Licensed – See LICENSE for details