Skip to content

Repository files navigation

🚀 NASA NEO Interactive Universe & Hazard Classification

This project is a high-performance, production-grade 3D web application that visualizes 32,001 NASA Near-Earth Objects (NEOs) and classifies them as hazardous or non-hazardous. It combines a sophisticated Three.js 3D simulation with a robust MLOps pipeline automated via GitHub Actions, DVC, and FastAPI.


📑 Project Overview

  • Interactive Universe: A cinematic 3D simulation (Orrery) of the solar system featuring 32,000+ real-time tracked asteroids.
  • AI-Driven Prediction: Real-time hazard classification using ML models trained with NASA orbital data.
  • 3D Scale Comparator: High-fidelity visual tool to compare asteroid sizes against Earth in real-time.
  • Full-Stack Architecture: Modern split-module design with a specialized FastAPI backend and a glassmorphic Vanilla JS frontend.
  • End-to-End MLOps: Automated data ingestion, preprocessing (SMOTE), drift detection, and monitoring via MLflow and Grafana.

⚙️ Tech Stack

Frontend (Interactive UI)

  • 3D Engine: Three.js (WebGL)
  • Styling: Vanilla CSS with Glassmorphism
  • State Management: Asynchronous JS with custom state-driven components

Backend (Production API)

  • Framework: FastAPI (Asynchronous)
  • Database: Neon (Serverless PostgreSQL)
  • Real-time: WebSockets for live asteroid tracking
  • Data Versioning: DVC (Data Version Control)

Machine Learning & MLOps

  • ML Engine: Scikit-Learn, XGBoost, CatBoost
  • Pipeline: GitHub Actions (Scheduled Workflows)
  • Experiment Tracking: MLflow (hosted on DAGsHub)
  • Monitoring: Grafana Dashboards

🌌 Interactive Modules

1. High-Fidelity 3D Orrery

  • Real-time visualization of 32,001 unique NASA asteroids.
  • Cinematic camera controls with zoom-to-asteroid functionality.
  • Procedural textures for celestial bodies and starfield environments.

2. Asteroid-to-Earth Comparator

  • Dynamic 3D model scaling based on real physical diameters.
  • Synchronized zoom effects for precise scale perception.
  • Targeting reticle and AI-driven risk indicators.

3. AI Explorer & Leaderboard

  • Name-based asteroid search and advanced filtering.
  • AI risk assessment scoring displayed in real-time.
  • WebSocket-powered "Recent Discoveries" live feed.

4. Technical Dashboard (MLOps)

  • Visual documentation of the end-to-end data pipeline.
  • DVC-driven data flow visualization.
  • Real-time backend health monitoring.

🌳 Repository Structure

├── 📁 .github/             # GitHub Actions Workflows (CI/CD, Ingestion, Drift)
├── 📁 backend/             # FastAPI Application (API v2.0)
│   ├── 🐍 main.py          # API Entry Point
│   ├── 🐍 models.py        # SQLAlchemy/Neon Models
│   ├── 🐍 database.py      # NeonDB Connection Pool & Watcher
├── 📁 frontend/            # High-Fidelity Web Interface
│   ├── 📁 src/             # Specialized 3D & UI Components
│   │   ├── 💎 orrery.js    # 3D Solar System Engine
│   │   ├── 💎 comparator.js # 3D Scale Comparison
│   │   ├── 📂 mlops.js     # Technical Dashboard
├── 📁 src/                 # ML Pipeline Source Code (V1)
│   ├── 📁 custom/          # Data Transformation & Model Training
├── 📁 Data/                # Local data storage (DVC tracked)
├── 📁 Notebook/            # Research & Exploratory Analysis
├── 🐍 app.py               # Legacy Flask Gateway
├── 🧊 dvc.yaml             # Data Pipeline Orchestration
└── 📖 README.md            # This documentation

📊 Monitoring & Alerts

  • Grafana Dashboards: Publicly accessible dashboards tracking ingestion, performance, and drift.
  • Data Drift Detection: Automated weekly checks with email notifications via GitHub Actions.
  • Real-time Watcher: Background service polling for new unique asteroid discoveries.

👨‍💻 Author

Subrat Mishra

Portfolio LinkedIn GitHub Medium

About

This project builds a production-grade ML pipeline to classify Near-Earth Objects (NEOs) as hazardous or non-hazardous. It automates data ingestion, preprocessing, model training, monitoring, and drift detection using GitHub Actions, PostgreSQL, MLflow, DAGsHub, and Grafana.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages