Kit Schnelle
● activephase 2

Maritime GEOINT Monitor

A full-stack autonomous maritime tracking and geospatial intelligence platform that ingests live AIS data, persists vessel trails, and serves spatial queries through a tactical map interface.

TypeScriptReactMapLibre GLFastAPIPostGISRedisDockerWebSockets
Overview

Maritime GEOINT Monitor tracks vessels in real time using live AIS (Automatic Identification System) broadcasts. Position reports stream in over WebSocket, get cached and buffered through Redis, and persist to a PostGIS spatial database that powers geospatial queries like proximity searches and trail reconstruction.

The frontend is a React application with a tactical map interface built on MapLibre GL, featuring basemap switching, a UTC clock, live status indicators, and persistent vessel trails rendered from historical position data.

Architecture
data flow
01
AIS IngestionLive vessel position reports stream in over WebSocket.
02
Redis StreamPosition updates buffered and cached by MMSI for high-frequency reads.
03
PositionWriterConsumer drains the Redis stream and writes to PostGIS.
04
PostGISSpatial database stores positions and serves geospatial queries.
05
FastAPIAsync API serves vessel state and trail history to the frontend.
06
React + MapLibreTactical map renders live positions and persistent vessel trails.
Build Phases
2 of N complete
● completePhase 1

Live tracking foundation

  • Docker Compose stack with PostGIS, Redis, FastAPI, and frontend
  • PostGIS schema for vessel positions
  • MapLibre GL frontend with basemap switching
  • Tactical topbar UI with UTC clock and live status indicators
● completePhase 2

Vessel trail persistence

  • Redis Stream to PostGIS PositionWriter pipeline
  • Historical position storage and trail reconstruction
  • Persistent vessel trails rendered on the map
○ plannedPhase 3

Enrichment & geofencing

  • Spatial alerting on proximity and zone entry
  • Vessel filtering and search
  • Geofence drawing for areas of interest
  • Vessel detail enrichment from AIS static data (type, flag, dimensions, destination)
○ plannedPhase 4

Anomaly detection

  • Dark vessel detection from AIS signal gaps
  • Identity spoofing detection (MMSI and position inconsistencies)
  • Loitering and unusual course or speed change detection
  • Traffic density heatmaps
  • Port call detection and dwell time analysis
○ plannedPhase 5

Pattern-of-life & investigation

  • Historical voyage playback for flagged vessels
  • Behavioral baselining and pattern-of-life analysis
  • Authentication and access control
  • Performance optimization for high vessel counts
  • Cloud deployment beyond local Docker
Stack
Frontend
  • React + TypeScript
  • MapLibre GL for tactical mapping
  • WebSocket client for live updates
Backend
  • FastAPI (async) with SQLAlchemy
  • PostGIS spatial database
  • Redis stream and cache layer
  • Dockerized service stack