Yashmit Katekar
← All projects
Web·Shipped

PitGuard

An underground mine safety dashboard with ML hazard detection

Isolation Forest
anomaly detection
View on GitHub ↗
Role
Designed the MySQL schema by hand, wrote the rule-based risk logic, chose Isolation Forest, and came up with the drilling-animation login page. CRUD routes and styling were AI-assisted.
Team
Solo
When
Jul 2026

Problem

A mine safety dashboard that tracks gas, air quality, temperature and humidity across zones and raises alerts when readings look dangerous. It runs on simulated sensor data.

Approach

I hand-designed the MySQL schema (zones, workers, sensor readings, alerts, users) and wrote rule-based risk logic. For ML hazard detection I chose Isolation Forest, an unsupervised method, because any labels would only come from my own thresholds. Built with Flask, Flask-SQLAlchemy and MySQL, with an HTML, Tailwind and vanilla JS front end.

Result

No measured result: the sensor data is simulated. Deployed on Render + Aiven.

How it fits together

  1. Simulated sensor data
    gas, air quality, temperature, humidity
  2. Flask + MySQL
    zones, workers, readings, alerts, users
  3. Risk detection
    rule-based logic + Isolation Forest
  4. Alerts
  5. Dashboard

Features

  • Dashboard for gas, air quality, temperature and humidity readings
  • Alerts when readings look dangerous
  • Rule-based risk logic plus Isolation Forest hazard detection
  • Cinematic drilling-animation login page
  • Schema covering zones, workers, sensor readings, alerts and users

What I learned

With simulated data, any labels would only come from my own thresholds, so an unsupervised model (Isolation Forest) was the honest choice over a supervised one. I designed the schema and the risk logic by hand, and let AI help with the routine CRUD routes and styling.

Tech

FlaskFlask-SQLAlchemyMySQLIsolation ForestHTMLTailwindJavaScriptRenderAiven

Screens

The landing page
Live zone monitoring across three separate zones: A, B and C
Readings clear automatically once they return to normal thresholds
Worker management: add or delete workers, or edit a worker's status
Alert history shown as plots

The landing page

1 / 5