Interactive Global Map
- Zoom & Pan - Smooth navigation with mouse/trackpad gestures
- Regional Focus - named preset views for rapid navigation (Global, Americas, Europe, MENA, Asia, Latin America, Africa, Oceania)
- Layer System - Toggle visibility of data layers organized by category
- Time Filtering - Filter events by time range (1h, 6h, 24h, 48h, 7d)
- Pinnable Map - Pin the map to the top while scrolling through panels, or let it scroll with the page
- Smart Marker Clustering - Nearby markers group at low zoom, expand on zoom in
Marker Clustering
Dense regions with many data points use intelligent clustering to prevent visual clutter: How It Works- Markers within a pixel radius (adaptive to zoom level) merge into cluster badges
- Cluster badges show the count of grouped items
- Clicking a cluster opens a popup listing all grouped items
- Zooming in reduces cluster radius, eventually showing individual markers
- Protests: Cluster within same country only (riots sorted first, high severity prioritized)
- Tech HQs: Cluster within same city (Big Tech sorted before unicorns before public companies)
- Tech Events: Cluster within same location (sorted by date, soonest first)
Data Layers
Layers are organized into logical groups for efficient monitoring: Geopolitical
Military & Strategic
Infrastructure
Transport
*AIS data via AISStream.io uses terrestrial receivers with stronger coverage in European/Atlantic waters. Middle East, Asia, and open ocean coverage is limited. Satellite AIS providers (Spire, Kpler) offer global coverage but require commercial licenses.
Natural Events
Overlays & Labels
Webcams
Intelligence Panels
Beyond raw data feeds, the dashboard provides synthesized intelligence panels:
These panels transform raw signals into actionable intelligence by applying scoring algorithms, trend detection, and cross-source correlation.
News Aggregation
Multi-source RSS aggregation across categories:- World / Geopolitical - BBC, Reuters, AP, Guardian, NPR, Politico, The Diplomat
- Middle East / MENA - Al Jazeera, BBC ME, Guardian ME, Al Arabiya, Times of Israel
- Africa - BBC Africa, News24, Google News aggregation (regional & Sahel coverage)
- Latin America - BBC Latin America, Guardian Americas, Google News aggregation
- Asia-Pacific - BBC Asia, South China Morning Post, Google News aggregation
- Energy & Resources - Google News aggregation (oil/gas, nuclear, mining, Reuters Energy)
- Technology - Hacker News, Ars Technica, The Verge, MIT Tech Review
- AI / ML - ArXiv, VentureBeat AI, The Verge AI, MIT Tech Review
- Finance - CNBC, MarketWatch, Financial Times, Yahoo Finance
- Government - White House, State Dept, Pentagon, Treasury, Fed, SEC, UN News, CISA
- Intel Feed - Defense One, Breaking Defense, Bellingcat, Krebs Security, Janes
- Think Tanks - Foreign Policy, Atlantic Council, Foreign Affairs, CSIS, RAND, Brookings, Carnegie
- Crisis Watch - International Crisis Group, IAEA, WHO, UNHCR
- Regional Sources - Xinhua, TASS, Kyiv Independent, Moscow Times
- Layoffs Tracker - Tech industry job cuts
Source Filtering
The SOURCES button in the header opens a global source management modal, enabling fine-grained control over which news sources appear in the dashboard. Capabilities:- Search: Filter the source list by name to quickly find specific outlets
- Individual Toggle: Click any source to enable/disable it
- Bulk Actions: “Select All” and “Select None” for quick adjustments
- Counter Display: Shows “45/77 enabled” to indicate current selection
- Persistence: Settings are saved to localStorage and persist across sessions
- Noise Reduction: Disable high-volume aggregators (Google News) to focus on primary sources
- Regional Focus: Enable only sources relevant to a specific geographic area
- Source Quality: Disable sources with poor signal-to-noise ratio
- Bias Management: Balance coverage by enabling/disabling sources with known editorial perspectives
- Disabled sources are filtered at fetch time (not display time), reducing bandwidth and API calls
- Affects all news panels simultaneously: disable BBC once, it is gone everywhere
- Panels with all sources disabled show “All sources disabled” message
- Changes take effect on the next refresh cycle
Regional Intelligence Panels
Dedicated panels provide focused coverage for strategically significant regions:
Each panel aggregates region-specific sources to provide concentrated situational awareness for that theater. This enables focused monitoring when global events warrant attention to a particular region.
Live News Streams
Live streams from major news networks with channel switching:
Core Features:
- Channel Switcher - One-click switching between networks
- Live Indicator - Blinking dot shows stream status, click to pause/play
- Mute Toggle - Audio control (muted by default)
- Double-Width Panel - Larger video player for better viewing
Streams are listed in
src/config/live-video-sources.ts; npm run live-video:check -- --all reports any that stopped being live. A daily audit keeps one GitHub issue, “Live video sources: slots needing a replacement”, that names each webcam or channel slot with nothing live, where it shows and why; maintainers check a replacement URL with npm run live-video:check -- <url> and paste it into that file. YouTube refuses embeds from GitHub’s runners, so the audit plays YouTube entries through the residential proxy in the LIVE_VIDEO_AUDIT_PROXY_URL secret and stops with an error when that secret is missing. For a channel entry, the audit first reads the channel’s /live page through the same proxy and checks the video the channel has live right now instead of the channel embed; when a pinned video ahead of the channel has died, the issue suggests that live video under “Live now”, ready to paste. A scheduled job reads the same channel pages and publishes the video each channel has live (the liveVideoResolved on-demand bootstrap key). When a viewer plays a slot that lists a channel, the player tries that video immediately before the channel entry, so sources listed ahead of the channel keep priority; it plays the listed sources unchanged when the video is missing, older than 36 hours, or not available within 1.5 seconds. A failure the runner cannot tell apart from its own location or network, such as a region-locked channel refused outside its regions or an HLS playlist that a CDN edge kept serving unchanged, is listed under “Could not verify from the runner” instead of as a slot needing a replacement.
Idle Detection:
To conserve resources, playback stops in two cases:
Market Data
- Stocks - Major indices and tech stocks via Finnhub (Yahoo Finance backup)
- Commodities - Oil, gold, natural gas, copper, VIX
- Crypto - Bitcoin, Ethereum, Solana via CoinGecko
- Sector Heatmap - Visual sector performance (11 SPDR sectors)
- Economic Indicators - Fed data via FRED (assets, rates, yields)
- Oil Analytics - EIA data: WTI/Brent prices, US production, US inventory with weekly changes
- Government Spending - USASpending.gov: Recent federal contracts and awards
Prediction Markets
- Polymarket integration for event probability tracking
- Correlation analysis with news events
Workflows
Two full-screen, keyboard-first workflows complement the map + panels experience:- Route Explorer — plan a shipment between any two countries. Four tabs (Current / Alternatives / Land / Impact) resolve chokepoint exposure, bypass corridors, land alternatives, and per-country import exposure for the selected HS2 commodity. PRO-gated.
- Scenario Engine — run pre-built disruption scenarios (conflict, weather, sanctions, tariff shocks) and watch the impact resolve across chokepoints, sectors, and countries on the map and in the Supply Chain panel. PRO-gated.
Country-level risk
Two complementary country-scoring surfaces:- Country Instability Index — a high-frequency CII v8 stress score with signed 24-hour movement deltas, blending unrest, conflict, security, and information signals for 31 Tier-1 countries.
- Country Resilience Index — a 0-100 resilience score for the 196-country public rankable universe built from 72 indicators across 21 active dimensions and 6 domains. Live API scores refresh every 6 hours. Crawlable country snapshots publish monthly with their capture date and revision note.
Search (Cmd+K)
Universal command palette for navigating the entire application. Every panel, map view, layer toggle, workflow, and country brief is searchable:- Map navigation: jump to any region (Global, MENA, Europe, Asia-Pacific, Americas, Africa, Oceania)
- Layer presets and individual layers: flip presets (Military, Finance, Infrastructure, Intel, All, None, Minimal) or toggle individual layers by name (AIS, flights, conflicts, cables, fires, GPS jamming, satellites, etc.)
- Panels by family:
- AI & intelligence: AI Forecasts, Latest Brief, WM Analyst, AI Market Implications, Deduct Situation, Daily Market Brief, Regional Intelligence, AI Strategic Posture, Threat Timeline
- Markets & trading: Premium Stock Analysis, Premium Backtesting, WSB Ticker Scanner, plus the Indicators & Signals catalogue (Fear & Greed, Macro Tiles, Yield Curve, Earnings / Economic calendars, ETF flows, crypto sectors, etc.)
- Geopolitical & risk: Country Instability, Country Resilience, Strategic Risk, Infrastructure Cascade
- Trade & supply chain: Trade Policy, Supply Chain, Sanctions Pressure, Hormuz Trade Tracker, Energy Crisis Tracker
- Tracking & health: Disease Outbreaks, Radiation Watch, Thermal Escalation, Consumer Prices, fires, UCDP events, displacement, climate anomalies, security advisories, population exposure
- News: see the News Feeds catalogue for regional / topical / tech / finance / happy content streams.
- Utilities: Airline Intelligence, Tech Readiness Index, World Clock, My Monitors, OREF Sirens, Telegram Intel, X News Accounts, Financial Stress, Webcams, Layoffs
- Workflows: open Route Explorer or activate a Scenario Engine template directly from the palette
- Country briefs: search any country name to open its intelligence brief or navigate the map
- Time range: filter events by 1h, 6h, 24h, 48h, or 7 days
- View controls: dark/light mode, fullscreen, settings, refresh all data
Data Export
- Dashboard data export — CSV, JSON, and PDF reports of the current dashboard state — on plans that include data export (Pro Business, the API plans, and Enterprise); see Plans & Pricing
- Country dossier evidence bundles as portable Markdown with source links and freshness notes where available (Pro and above)
- Historical playback from snapshots
Custom Monitors
Create personalized keyword alerts that scan all incoming news:- Enter comma-separated keywords (e.g., “nvidia, gpu, chip shortage”)
- System assigns a unique color
- Matching articles are highlighted in the Monitor panel
- Matching articles in clusters inherit the monitor color
Activity Tracking
The dashboard highlights newly-arrived items so you can quickly identify what changed since your last look.Visual Indicators
Automatic “Seen” Detection
The system uses IntersectionObserver to detect when panels become visible:- When a panel is >50% visible for >500ms, items are marked as “seen”
- Scrolling through a panel marks visible items progressively
- Switching panels resets the “new” state appropriately
Panel-Specific Tracking
Each panel maintains independent activity state:- News: New clusters since last view
- Markets: Price changes exceeding thresholds
- Predictions: Probability shifts >5%
- Natural Events: New earthquakes and EONET events
Snapshot System
The dashboard captures periodic snapshots for historical analysis:- Automatic capture every refresh cycle
- 7-day retention with automatic cleanup
- Stored data: news clusters, market prices, prediction values, hotspot levels
- Playback: Load historical snapshots to see past dashboard states
Critical Mineral Deposits
The Minerals layer displays strategic mineral extraction sites essential for modern technology and defense supply chains.Tracked Resources
Key Sites
Supply Chain Risks
Critical minerals are geopolitically concentrated:- Cobalt: 70% from DRC, significant artisanal mining concerns
- Rare Earths: 60% from China, processing nearly monopolized
- Lithium: Expanding production but demand outpacing supply
Cyber Threat Actors (APT Groups)
The map displays geographic attribution markers for major state-sponsored Advanced Persistent Threat (APT) groups. These markers show the approximate operational centers of known threat actors.Tracked Groups
Why This Matters
Cyber operations often correlate with geopolitical tensions. When news reports reference Russian cyber activity during a Ukraine escalation, or Iranian hacking during Middle East tensions, these markers provide geographic context for the threat landscape.Visual Indicators
APT markers appear as warning triangles with distinct styling. Clicking a marker shows:- Official designation and common aliases
- State sponsor and intelligence agency
- Primary targeting sectors
Social Unrest Tracking
The Protests layer aggregates civil unrest data from two independent sources, providing corroboration and global coverage.ACLED (Armed Conflict Location & Event Data)
Academic-grade conflict data with human-verified events:- Coverage: Global, 30-day rolling window
- Event types: Protests, riots, strikes, demonstrations
- Metadata: Actors involved, fatalities, detailed notes
- Confidence: High (human-curated)
GDELT (Global Database of Events, Language, and Tone)
Real-time news-derived event data:- Coverage: Global, 7-day rolling window
- Event types: Geocoded protest mentions from news
- Volume: Reports per location (signal strength)
- Confidence: Medium (algorithmic extraction)
Multi-Source Corroboration
Events from both sources are deduplicated using a 0.5 degree spatial grid and date matching. When both ACLED and GDELT report events in the same area:- Confidence is elevated to “high”
- ACLED data takes precedence (higher accuracy)
- Source list shows corroboration
Severity Classification
Events near intelligence hotspots are cross-referenced to provide geopolitical context.
Map Display Filtering
To reduce visual clutter and focus attention on significant events, the map displays only high-severity protests and riots:
Lower-severity events are still tracked for CII scoring and data exports: they simply do not create map markers. This filtering prevents dense urban areas (which naturally generate more low-severity demonstrations) from overwhelming the map display.
Aviation Monitoring
The Flights layer tracks airport delays and ground stops at major US airports using FAA NASSTATUS data.Delay Types
Severity Thresholds
Monitored Airports
Airports in the global registry span the Americas, Europe, Asia-Pacific, MENA, and Africa and are monitored through three independent data sources (FAA ASWS, AviationStack, ICAO NOTAM):- Major US hubs: JFK, LAX, ORD, ATL, DFW, DEN, SFO
- International gateways with high traffic volume
- 46 MENA airports via ICAO NOTAM for closure detection
- Airports frequently affected by weather or congestion
Prediction Market Filtering
The Prediction Markets panel focuses on geopolitically relevant markets, filtering out sports and entertainment.Inclusion Keywords
Markets matching these topics are displayed:- Conflicts: war, military, invasion, ceasefire, NATO, nuclear
- Countries: Russia, Ukraine, China, Taiwan, Iran, Israel, Gaza
- Leaders: Putin, Zelensky, Trump, Biden, Xi Jinping, Netanyahu
- Economics: Fed, interest rate, inflation, recession, tariffs, sanctions
- Global: UN, EU, treaties, summits, coups, refugees
Exclusion Keywords
Markets matching these are filtered out:- Sports: NBA, NFL, FIFA, World Cup, championships, playoffs
- Entertainment: Oscars, movies, celebrities, TikTok, streaming
Panel Management
The dashboard organizes data into draggable, collapsible panels that persist user preferences across sessions.Drag-to-Reorder
Panels can be reorganized by dragging:- Grab the panel header (grip icon appears on hover)
- Drag to desired position
- Drop to reorder
- New order saves automatically to LocalStorage
Panel Resizing
Each panel has a resize handle on its bottom edge (height) and its right edge (width):- Height: drag the bottom handle to span 1 to 4 grid rows
- Width: drag the right handle to span up to 3 grid columns, limited by how many columns the grid currently has
- Keyboard: focus a handle and use the arrow keys, or Home and End for the minimum and maximum
- Reset: double-click a handle to restore that panel’s default height or width
Map Width Divider
When the viewport is at least 900px wide, the map and the panel grid sit side by side with a vertical divider between them. Drag the divider to change the map’s share of the width, or focus it and press the Left and Right arrow keys to move it in 5% steps. The map keeps a minimum width, and so does the panel column.Panel Text Size
The Panel text size option on the Settings tab sets text size for every panel. On the Panels tab, the Text size selector next to a panel overrides it for that panel after you click Save. Use global returns the panel to the global size.Reset Layout
Reset Layout on the Panels tab of Settings clears panel order, row and column spans, per-panel text sizes, map height, map width, and map side, then reloads the page.Panel Visibility
Toggle panels on/off via the Settings menu:- Hidden panels: Do not render, do not fetch data
- Visible panels: Full functionality
- Collapsed panels: Header only, data still refreshes
Default Panel Order
Panels are organized by intelligence priority:Persistence
Panel state survives browser restarts:- LocalStorage: Panel order, visibility, collapsed state, row and column spans, per-panel text size, map width, map height, and map side
- Automatic save: Drag, keyboard, and resize changes persist immediately; Panels tab changes persist when you click Save
- Per-device by default: Web builds with
VITE_CLOUD_PREFS_ENABLED=truesync panel order, visibility, spans, and per-panel text size for signed-in users. Collapsed state, map width, map height, and map side always stay on the device.
Mobile Experience
The dashboard is optimized for mobile devices with a streamlined interface that prioritizes usability on smaller screens.First-Time Mobile Welcome
When accessing the dashboard on a mobile device for the first time, a welcome modal explains the mobile-optimized experience:- Simplified view notice - Informs users they are seeing a curated mobile version
- Navigation tip - Explains regional view buttons and marker interaction
- “Don’t show again” option - Checkbox to skip on future visits (persisted to localStorage)
Mobile-First Design
On screens narrower than 768px or touch devices:- Compact map - Reduced height (40vh) to show more panels
- Single-column layout - Panels stack vertically for easy scrolling
- Hidden map labels - All marker labels are hidden to reduce visual clutter
- Fixed layer set - Layer toggle buttons are hidden; a curated set of layers is enabled by default
- Simplified controls - Map resize handle and pin button are hidden
- Touch-optimized markers - Expanded touch targets (44px) for easy tapping
- Hidden DEFCON indicator - Pentagon Pizza Index hidden to reduce header clutter
- Hidden FOCUS selector - Regional focus buttons hidden (use preset views instead)
- Compact header - Social link shows X logo instead of username text
Mobile Default Layers
The mobile experience focuses on the most essential intelligence layers:
Layers disabled by default on mobile (but available on desktop):
- Military bases, nuclear facilities, spaceports, minerals
- Undersea cables, pipelines, datacenters
- AIS vessels, military flights
- Protests, economic centers
Offline ML Capabilities
The dashboard includes browser-side machine learning that works without any server connection:- Threat Classification - Three-stage pipeline (keyword pre-filter, browser ML model, optional LLM refinement) classifies news headlines by threat category
- Headline Scoring - ML-based importance scoring for news articles, enabling priority-based rendering
- Entity Extraction - Client-side named entity recognition for identifying countries, organizations, and key figures in headlines
Usage
Keyboard Shortcuts
Cmd+K/Ctrl+K- Open searchUp/Down- Navigate search resultsEnter- Select resultEsc- Close modals
Map Controls
- Scroll - Zoom in/out
- Drag - Pan the map
- Click markers - Show detailed popup with full context
- Hover markers - Show tooltip with summary information
- Layer toggles - Show/hide data layers
- Layer explanations - Open compact cards from the layer picker to see a layer’s purpose, source/provider, freshness expectation, confidence notes, limitations, and related panels
Map Marker Design
Infrastructure markers (nuclear facilities, economic centers, ports) display without labels to reduce visual clutter. Full information is available through interaction:
This design prioritizes geographic awareness over label density: users can quickly scan for markers and then interact for context.
Panel Management
- Drag panels - Reorder layout
- Settings - Toggle panel visibility
Shareable Links
The current view state is encoded in the URL, enabling:- Bookmarking: Save specific views for quick access
- Sharing: Send colleagues a link to your exact map position and layer configuration
- Deep linking: Link directly to a specific region or feature
Example:
?lat=38.9&lon=-77&zoom=6&layers=bases,conflicts,hotspots
Values are validated and clamped to prevent invalid states.