Skip to content
TBC-Logo

🎬 Personalized Movie Recommendation System

Final Project for the TBC x Geolab Bootcamp
A smart, personalized movie recommendation system that suggests films tailored to each user's unique taste.

Python 3.8+ MIT License

📂 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