Skip to content

🎌 A Machine Learning powered Flask web application that provides personalized anime recommendations. Implements collaborative and content-based filtering, model training pipelines, preprocessing, and cloud deployment with Docker, Kubernetes, Jenkins, and GCP for scalability and reliability.

Notifications You must be signed in to change notification settings

SAMI-CODEAI/AniMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎌 Anime Recommendation System (MLOps Project)

πŸ“Œ Project Overview

This repository presents a Hybrid Anime Recommendation System built with state-of-the-art Machine Learning and end-to-end MLOps practices.
The system leverages Collaborative Filtering and Content-Based Filtering to deliver personalized anime recommendations to users.

Unlike traditional ML projects, this solution is fully production-ready, integrating automation, scalability, and monitoring. It combines ML pipelines with cloud-native deployment to demonstrate real-world engineering skills.

πŸ”‘ Highlights:

  • βœ… Hybrid recommender system (Collaborative + Content-Based)
  • βœ… MLOps-driven workflow (DVC, Comet ML, Jenkins, Docker, Kubernetes)
  • βœ… Cloud-native architecture deployed on Google Kubernetes Engine (GKE)
  • βœ… Scalable, reproducible, and automated end-to-end ML lifecycle

πŸš€ Features

  • 🎯 Personalized Recommendations β†’ Top-10 anime suggestions per user
  • πŸ”„ Hybrid Recommendation Engine β†’ Combines user behavior + anime metadata
  • πŸ“¦ MLOps Integration β†’ Data versioning, experiment tracking, CI/CD pipelines
  • ☁️ Cloud Deployment β†’ Google Cloud Storage + Kubernetes cluster (GKE)
  • πŸ“Š Experiment Transparency β†’ Metrics & embeddings logged via Comet ML
  • ⚑ Scalability & Reliability β†’ Autoscaling pods, load balancing, and CI/CD

πŸ› οΈ Tech Stack

πŸ”Ή Core Development

  • Python 3.8
  • Flask (backend web app)
  • TensorFlow / Keras (deep learning models)
  • Pandas, NumPy (data wrangling)

πŸ”Ή MLOps & DevOps

  • DVC β†’ Dataset & model versioning
  • Comet ML β†’ Experiment tracking & visualization
  • Docker β†’ Containerization for portability
  • Kubernetes (GKE) β†’ Orchestration & scaling
  • Jenkins β†’ CI/CD automation
  • Google Cloud Storage (GCS) β†’ Artifact & dataset storage

βš™οΈ System Architecture

flowchart TD
    A[User Input: User ID] --> B[Flask Web Interface]
    B --> C[Hybrid Recommendation Pipeline]
    C --> D[Collaborative Filtering: User-Anime Interactions]
    C --> E[Content-Based Filtering: Metadata & Synopsis]
    D & E --> F[Score Fusion & Ranking]
    F --> G[Top-10 Anime Recommendations]
    G --> H[Results Rendered on Web Page]
Loading

πŸ€– Machine Learning Approach

1️⃣ Collaborative Filtering

  • Learns latent user–anime factors from rating matrix
  • Embedding model (RecommenderNet) with:
    • user_id β†’ user_embedding
    • anime_id β†’ anime_embedding
  • Optimized with binary crossentropy for recommendation accuracy

2️⃣ Content-Based Filtering

  • Leverages metadata features: genres, synopsis, anime type, ratings
  • Computes semantic similarity between anime via embeddings

3️⃣ Hybrid Model

  • Weighted combination of collaborative and content-based predictions
  • Balances personalization with content diversity
  • Produces ranked top-10 recommendations per user

πŸ”§ MLOps Workflow

πŸ“ˆ CI/CD with Jenkins + Docker + Kubernetes

flowchart LR
    A[GitHub Commit] --> B[Jenkins CI/CD Pipeline]
    B --> C[Install Dependencies & Run Tests]
    C --> D[DVC Pull Data & Models from GCS]
    D --> E[Build Docker Image]
    E --> F[Push Docker Image to Google Container Registry]
    F --> G[Deploy to Kubernetes: GKE]
    G --> H[LoadBalancer Service β†’ Exposes Flask Web App]
Loading

Pipeline Stages:

  1. Code Integration β†’ GitHub β†’ Jenkins
  2. Data Retrieval β†’ DVC pulls datasets & artifacts from GCS
  3. Containerization β†’ Build & push Docker image to GCR
  4. Deployment β†’ Apply Kubernetes manifests (deployment.yaml)
  5. Scaling β†’ Kubernetes HPA ensures high availability

πŸ“Š Experiment Tracking (Comet ML)

Every experiment is logged to Comet ML Dashboard, including:

  • πŸ“‰ Training & validation losses
  • 🧩 User & anime embeddings
  • πŸ”§ Hyperparameters & metrics
  • πŸ“¦ Model checkpoints

This ensures comparability, reproducibility, and optimization of models.


πŸ“‚ Repository Structure

.
β”œβ”€β”€ application.py          # Flask web app
β”œβ”€β”€ pipeline/               # ML training & prediction pipelines
β”œβ”€β”€ src/                    # Core ML code (data processing, models)
β”œβ”€β”€ config/                 # Config files & paths
β”œβ”€β”€ artifacts/              # DVC-tracked datasets & models
β”œβ”€β”€ static/                 # CSS, JS & frontend assets
β”œβ”€β”€ templates/              # HTML templates (Flask)
β”œβ”€β”€ deployment.yaml         # Kubernetes spec
β”œβ”€β”€ Dockerfile              # Docker build config
β”œβ”€β”€ Jenkinsfile             # CI/CD pipeline
β”œβ”€β”€ requirements.txt        # Python dependencies
└── setup.py                # Package setup

πŸ‘¨β€πŸ’» Author

SAMI-CODEAI


About

🎌 A Machine Learning powered Flask web application that provides personalized anime recommendations. Implements collaborative and content-based filtering, model training pipelines, preprocessing, and cloud deployment with Docker, Kubernetes, Jenkins, and GCP for scalability and reliability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published