Enterprise-grade infrastructure combining real-time satellite data, machine learning, and modern web technologies for polar maritime intelligence.
Three-tier architecture optimized for speed and scalability
React 18 • TypeScript • Mapbox GL JS • Vite
Interactive map-based interface with real-time updates via WebSocket. Click-to-draw route planning, vessel tracking, and ice data visualization. Mobile-optimized responsive design.
FastAPI • Python 3.11+ • Uvicorn • Async/Await
RESTful API with WebSocket support for real-time streaming. Handles risk scoring, ice data processing, AIS vessel tracking, and Northwest Passage analysis.
PostgreSQL 15 • PostGIS • Redis • NSIDC Cache
Spatial database for route geometries and historical logs. Redis for session management and AIS caching. File-based cache for NSIDC GeoTIFF imagery.
Mapbox GL JS powers the interactive visualization with custom layers for ice concentration, risk heatmaps, and vessel positions.
Mapbox GL JS GeoJSON WebGLWebSocket connections for live AIS data and continuous risk updates. Sub-second latency for vessel position updates.
WebSocket AISstream.io MMSI FilteringMulti-tier caching strategy reduces NSIDC queries by 90%. 1-hour TTL for ice data, 10-minute TTL for AIS positions.
Redis File Cache 90% Hit RatePostGIS-enabled PostgreSQL for geographic queries, route geometry storage, and historical trend analysis.
PostgreSQL 15 PostGIS Spatial IndexingAuthoritative polar data from leading research institutions
Primary source for ice concentration data from DMSP SSMIS and AMSR2 polar-orbiting satellites. Daily GeoTIFF imagery with global polar coverage.
Live vessel position feed via WebSocket streaming. Global maritime traffic with filtering for polar regions (≥65°N, ≤-50°S). MMSI-based vessel identification.
Development and testing datasets generated for scenarios where real data is unavailable. Clearly marked in API responses to ensure transparency. Used for model training augmentation.
PyTorch-powered risk prediction in under 2 seconds
Load NSIDC GeoTIFF rasters, AIS vessel history, and environmental variables. Apply land masking and crop to route bounding box with 2° buffer.
bbox = calculate_route_bbox(waypoints, buffer=2.0)
ice_raster = load_nsidc_geotiff(date=latest, bbox=bbox)
ice_data = apply_land_mask(ice_raster)
Extract statistical features from spatial data including ice concentration metrics, edge proximity, temperature gradients, and vessel behavior patterns.
PyTorch feedforward neural network with multi-layer architecture. Input normalization to [-1, 1] range, dropout for regularization, sigmoid output for 0-1 risk score.
features = normalize_features(raw_features)
with torch.no_grad():
risk_score = model(features) * 100 # Scale to 0-100
category = categorize_risk(risk_score) # low/moderate/high
Threshold-based categorization with context-aware recommendations. Vessel capability requirements determined by ice concentration and risk level.
Store prediction results in PostGIS database for historical analysis, trend detection, and model performance monitoring.
INSERT INTO risk_inference_logs (route_geom, risk_score, category,
data_source, confidence_level, environmental_data, timestamp)
VALUES (ST_GeomFromText(route_wkt), 62.3, 'moderate',
'nsidc', 'high', {...}, NOW())
RESTful and WebSocket interfaces for developers
Calculate route risk score. Accepts array of coordinates, returns risk score (0-100), category, advisory, and environmental context.
List all tracked Arctic vessels with metadata including MMSI, name, type, ice class, and current position.
Get real-time position data for specific vessel by MMSI. Includes coordinates, speed, heading, and destination.
Fetch ice concentration GeoJSON for map visualization. Accepts bounding box parameter, returns cropped and transformed raster.
Analyze Northwest Passage traversability. Returns ice conditions for Northern/Southern routes, chokepoint status, and vessel requirements.
Start tracking specific vessel. Adds to follow-list persisted in Redis. Enables targeted notifications and alerts.
Live AIS stream for real-time vessel positions. Pushes updates as vessels move, filtered to polar regions.
Risk prediction stream with filtering by MMSI, risk range, or geographic bounding box. Continuous updates as conditions change.
arcticrisk.me
Automatic deployment from Git with global CDN distribution. Environment variables for Mapbox token and API base URL.
api.arcticrisk.me
Ubuntu 22.04 VM with 2 OCPU, 8GB RAM. Nginx reverse proxy with SSL (Let's Encrypt). Systemd service for auto-start.
PostgreSQL 15 with PostGIS extension on same VM. Daily backups to cloud storage. Connection pooling for burst traffic.
PostgreSQL 15 PostGIS Daily BackupsRedis 5.0+ for session management and AIS data caching. 10-minute TTL for vessel positions. Follow-list persistence.
Redis 5.0+ 10min TTL Session MgmtAccess Arctic Risk AI's powerful capabilities through our developer-friendly RESTful and WebSocket APIs.