Overview

Aegis Ocean is a decentralized, real-time ocean health monitoring system that combines physical Arduino sensors with a machine-learning anomaly detection backend and an immersive 3D visualization frontend. The system continuously watches temperature, salinity, and dissolved oxygen across three San Diego coastal zones, flags anomalies against 75 years of CalCOFI oceanographic history, generates AI-powered scientific narratives, and renders the ocean state as a navigable 3D Gaussian point cloud.

Inspiration

We kept reading the same headline: another kelp forest gone. The purple sea urchin population along California's coast has exploded — driven by marine heatwaves that we now call "the Boom" — and when they move in, they eat everything. Kelp forests that took decades to grow disappear in weeks. The problem isn't that we don't care. It's that by the time anyone finds out, it's already over. There's no system watching in real time. We wanted to build one.

What it does

Aegis Ocean is a real-time ocean health monitoring platform for the California coast. It watches three zones — Del Mar, Point Loma, and South Bay — and detects the early signatures of a Boom event before collapse sets in.

  • Live anomaly detection scores every incoming reading against 75 years of CalCOFI oceanographic history using a zone-trained Isolation Forest model
    • AI-generated alerts — when something's wrong, Gemini writes a scientific narrative: the threat, the urgency, the action needed
  • 3D underwater visualization renders 25,000 Gaussian splat points color-coded across four modes: heat anomaly, projected kelp health, urchin pressure, and salinity
  • Multi-zone dashboard tracks temperature, dissolved oxygen, salinity, and anomaly scores live across all three zones simultaneously

How we built it

  • ML: Isolation Forest trained on cleaned CalCOFI data (75 years, zone-specific baselines per month)
  • Backend: Flask REST API with a replay loop streaming historical oceanographic sequences at 2s intervals
  • AI: Google Gemini for scientific alert narratives triggered on anomaly detection
  • Frontend: Vanilla JS + Three.js with custom GLSL shaders for the 3D splat renderer and MapLibre-GL for the 2D coastal map
  • 3D: 25K-point Gaussian splat cloud generated from Argo float data + synthetic profiles, rendered in-browser with wave displacement shaders
  • Data pipeline: Custom ETL scripts processing CalCOFI CSVs into monthly zone baselines, replay sequences, and trained model artifacts

Challenges we ran into

Making the ML meaningful. Training an Isolation Forest on oceanographic data sounds straightforward until you realize "normal" is deeply seasonal and location-specific. A temperature that's anomalous in January is baseline in August. We had to build per-zone, per-month baselines and tune contamination thresholds carefully so the model flags real stress signals without crying wolf.

Gaussian splatting in the browser. Getting 25,000 splat points to render smoothly in Three.js with real-time wave displacement and four switchable shader modes required significant GLSL work. The coordinate math for projecting 3D zone annotations onto the 2D screen while the camera orbits was particularly brutal.

Connecting the data. Kelp health and urchin pressure aren't directly measured. They're inferred. Building proxy models that translate z-scores and anomaly scores into ecologically meaningful metrics took careful research into how marine heatwaves actually propagate through these ecosystems.

Accomplishments that we're proud of

  • A fully in-browser 3D ocean renderer with live anomaly-driven color mapping and four ecological visualization modes
  • An ML pipeline grounded in 75 years of real Pacific oceanographic data, not synthetic training sets
  • Gemini-powered alert narratives that turn statistical anomalies into actionable scientific language
  • A dashboard that makes a genuinely complex multi-variable ocean health problem legible at a glance

What we learned

Gaussian splatting requires substantial computing; CPU-bound reconstruction is a non-starter for a live product.

What's next for Aegis Ocean

  • Expand coverage up the full California coastline: Big Sur, Monterey, the Channel Islands
  • Live data ingestion from NOAA buoys and Argo floats, replacing the replay pipeline
  • Restoration targeting: identifying which degraded zones have the best conditions for kelp reseeding right now
  • Partner with marine biologists to validate proxy models and close the loop between prediction and on-the-ground observation
  • Open the dataset: every anomaly we log becomes a training point for the next generation of ocean health models

Built With

Share this project:

Updates