Turbofan Predictive Maintenance
A prototype that estimates how much life a jet engine has left, so maintenance can happen before a failure.
- Kafka
- PostgreSQL
- dbt
- XGBoost
- FastAPI
- Streamlit
- Docker
The problem
Airlines can fix engines only after they fail, or inspect them on a fixed schedule. The first is risky and expensive, and the second wastes inspections on healthy engines.
What I built
The system replays engine sensor data from NASA's public C-MAPSS dataset as a live stream, stores and transforms it, and uses a machine learning model to predict remaining useful life (RUL) for each engine.
Predictions are served through an API and a live feed, and a fleet dashboard shows which engines need attention. It includes a simulator that compares maintenance strategies.


The result
- On the official NASA test set of 100 engines the tuned model scored RMSE 13.88, MAE 10.18, and NASA score 342.71.
- In the project's own cost simulation, inspecting when predicted life drops to 25 cycles or less cost far less than waiting for failures. This is illustrative: it assumes every alert gets a timely inspection.
My role
Built the prototype end to end: streaming ingestion, data modeling, model training, API, dashboard, containerization, and CI.
Technical details
Tech stack
- Streaming & storage
- Apache Kafka (KRaft)
- PostgreSQL
- Transformation
- dbt
- Parquet feature store (38 features)
- Machine learning
- XGBoost
- ONNX Runtime
- Python
- Serving & UI
- FastAPI (REST + WebSocket)
- Streamlit
- Quality & ops
- Docker Compose
- pytest
- CI
Architecture
- Telemetry replayReplays engine sensor data as a stream of events.
- KafkaDelivers events reliably to the next stage.
- PostgreSQLStores the time series in a warehouse.
- dbt featuresBuilds rolling statistics and wear indicators.
- XGBoost modelPredicts remaining useful life per engine.
- FastAPI + StreamlitServes predictions and shows fleet health.
Key decisions
Model tournament
Four model types were compared on held-out engines before choosing the tuned XGBoost model as champion.
Honest benchmarking
Results are compared with published papers. Some published models score better, so this is presented as a working prototype, not a state-of-the-art claim.
Limitations
- Uses one operating condition and one fault type from the FD001 dataset.
- Sensor data is simulated, with no dropouts or calibration drift.
- The cost comparison uses illustrative cost figures.