← All work

Senior Capstone · delivered to AkzoNobel Coatings, Warsaw IN

Predictive Maintenance Platform

Calling machine failures hours before the alarm would.

Year
2026
Role
ML + full-stack (capstone team of 5)
Status
Shipped
Type
Senior Capstone

A production predictive-maintenance system for an AkzoNobel coatings plant where an hour of unplanned downtime costs $40K–$60K per machine.

The problem

AkzoNobel’s Warsaw, Indiana plant ran on threshold alarms: a sensor crosses a hard limit, the line is already going down, and the floor is reacting instead of planning. At $40K–$60K per machine per hour of unplanned downtime, every alarm that fires late is expensive.

The brief was to turn a stream of vibration and temperature telemetry into something an operator could act on a shift early — without asking them to read a data-science notebook.

Approach

  • Built the operator-facing dashboard in Next.js + TypeScript with role-based authentication, so floor operators, engineers, and admins each see the right surface.
  • Trained survival-analysis and KNN models that produce a daily failure-risk score per machine, surfacing degradation hours before a threshold alarm would trip.
  • Designed a multi-service architecture: an ingestion microservice pulls sensor telemetry into VictoriaMetrics (Prometheus-compatible) and PostgreSQL; a Python ML service scores daily; the web app reads and visualizes.
  • Containerized the whole stack with Docker Compose behind Caddy for automatic TLS, plus VAPID web-push and SMTP email so alerts reach people off the dashboard.
  • Shipped Chart.js trend views and one-click PDF/Excel report exports for shift handoffs and management review.

Impact

  • Delivered as a running system to AkzoNobel’s Warsaw plant, not a prototype.
  • Flags failure risk hours ahead of the existing threshold-based alarms.
  • Reproducible one-command deploy (Docker Compose) with persistent metrics + relational storage.

Stack

Frontend

Next.jsTypeScriptReactChart.jsTailwind

ML

Pythonscikit-learnSurvival analysisKNN

Backend & Data

PostgreSQLVictoriaMetricsRESTbetter-auth

Infra

Docker ComposeCaddy (auto-TLS)VAPID Web PushSMTP

Next

Movie Recommender