
Mood Machine is a machine learning pipeline that classifies user text into emotional categories: joy, anger, sadness, and optimism. The system is built around a Logistic Regression NLP model trained on TF-IDF features and optimized using hyperparameter tuning with GridSearchCV.
To support scalability and reproducibility, I integrated the model into a full MLOps pipeline (Metro-MLOps, created by me) using Kubeflow Pipelines. Each stage—data loading, model training, evaluation, and registration—is automated in the pipeline. The system tracks experiments and model versions using MLflow, and stores artifacts such as metrics, reports, and models in MinIO, a local S3-compatible object store.
The model is deployed via MLflow Serving, making predictions accessible through a REST API. A simple Streamlit frontend is also included for real-time emotion analysis based on user input.


