Skip to content

cunhanina/predictive-maintenance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ Predictive Maintenance Engine (RUL Analysis)

Python Streamlit Docker Build

A Full-Stack Industrial AI solution that predicts the Remaining Useful Life (RUL) of turbofan jet engines using sensor telemetry.

The Problem: In manufacturing and aviation, unscheduled downtime costs millions. Waiting for a machine to break is too expensive; replacing parts too early is wasteful.

The Solution: This dashboard uses a Random Forest Regressor trained on NASA C-MAPSS data to predict exactly when an engine will fail, allowing for "Just-In-Time" maintenance.


📸 Dashboard Preview

image

🚀 Key Features

  • Real-time RUL Prediction: Ingests live sensor data (Temperature, Pressure, Fan Speed) to estimate cycles remaining.
  • Explainable AI (XAI): Integrated SHAP analysis to tell operators why the AI predicts failure (e.g., "Sensor 11 pressure drop").
  • Traffic Light Health System: Instant Green/Orange/Red status for non-technical shop floor managers.
  • Dockerized: Fully containerized for instant deployment on any cloud or on-prem server.

🛠 Tech Stack

Component Technology Description
Core Python 3.11 Data processing and logic
Model Scikit-Learn Random Forest Regressor (RMSE ~41.5)
App Streamlit Interactive Industrial Dashboard
XAI SHAP Model interpretability and feature importance
DevOps Docker Containerization and reproducible builds
Testing Pytest Automated unit testing for math logic

📂 Project Structure

├── app/
│   ├── main.py        # Streamlit Dashboard Entry Point
├── data/              # Raw NASA C-MAPSS Sensor Logs (Ignored by Git)
├── models/            # Serialized ML Models (.pkl)
├── notebooks/         # Jupyter Labs for EDA & Training
├── src/               # Production-Grade Source Code
│   ├── data.py        # Data Ingestion Pipeline
│   ├── features.py    # Feature Engineering (RUL Calculation)
│   ├── model.py       # Model Training Logic
├── tests/             # Pytest Unit Tests
├── Dockerfile         # Container Config
└── pyproject.toml     # Dependency Manifest

⚡️ Quick Start

Option A: Run with Docker (Recommended)

The easiest way to run the app without installing dependencies.

docker build -t predictive-maintenance .
docker run -p 8501:8501 predictive-maintenance

Access the dashboard at http://localhost:8501.

Option B: Local Development

If you want to edit the code, use uv.

# 1. Clone the repo
git clone [https://github.com/maxykoin/predictive-maintenance.git](https://github.com/maxykoin/predictive-maintenance.git)
cd predictive-maintenance

# 2. Sync dependencies
uv sync

# 3. Run the App
uv run streamlit run app/main.py

🧪 Testing

This project uses pytest to ensure mathematical accuracy of RUL calculations.

uv run pytest

Built with ❤️ by Nina Cunha

Data Science · Industrial Automation · Software Engineering

LinkedIn GitHub


About

Real-time predictive maintenance engine for industrial assets using Machine Learning and Sensor Telemetry.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors