Skip to content

FrienDotJava/anime-recommendation-app

Repository files navigation

Anime Recommendation App

This project is an end-to-end MLOps implementation for an anime recommendation system. Users can rate anime they have watched, and the system will generate new recommendations based on their ratings.

🚀 Live Demo


⚙️ End-to-End MLOps Pipeline

This project demonstrates a full machine learning lifecycle, from raw data to a live, user-facing application.

1. Data & Experimentation

  • Data Ingestion: The initial anime and user rating data is sourced and versioned using DVC (Data Version Control), allowing us to track large data files alongside our code.
  • Experiment Tracking: MLflow is used to log and manage all training experiments. This includes saving model parameters, performance metrics, and the final model artifacts, ensuring reproducibility and easy comparison.

2. Model Deployment (CI/CD)

The best-performing model from our experiments is automatically deployed as a REST API.

  • Backend: A FastAPI server wraps the trained model, exposing a simple /recommend endpoint.
  • Deployment: This API is continuously deployed to Render. A push to the main branch automatically triggers a new build and deployment, ensuring the API is always up-to-date with the latest stable model.

3. Application Serving (Frontend)

A decoupled frontend application provides the user interface.

  • Frontend: A Next.js application allows users to rate anime and view their personalized recommendations.
  • Deployment: The Next.js app is deployed on Vercel. It communicates with the FastAPI backend on Render to fetch recommendations, completing the end-to-end user experience.

🛠️ Technology Stack

  • Experimentation: Python, MLflow (Deployed on DagsHub for live, collaborative experiment tracking -> simulating a real-world team environment), DVC (Connected to Google Cloud Storage as DVC Remote), Jupyter Notebooks
  • Backend API: FastAPI
  • Frontend App: Next.js (React)
  • Deployment & Hosting: Render (Backend API), Vercel (Frontend App)
  • Automation: GitHub Actions (for CI/CD workflows)

About

End-to-end MLOps for an Anime Recommendation system. Includes the MLflow pipeline, DVC data versioning, and the FastAPI model API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors