---
title: "Hotspots & Navigation"
description: "Dynamic hotspot detection with real-time activity scoring, regional focus navigation presets, and map pinning for persistent monitoring."
---
WorldMonitor uses real-time news correlation to detect and visualize global hotspots, provides regional focus presets for rapid context switching, and supports map pinning for persistent monitoring workflows.

## Dynamic Hotspot Activity

Hotspots on the map are **not static threat levels**. Activity is calculated in real-time based on news correlation.

Each hotspot defines keywords:
```typescript
{
  id: 'dc',
  name: 'DC',
  keywords: ['pentagon', 'white house', 'congress', 'cia', 'nsa', ...],
  agencies: ['Pentagon', 'CIA', 'NSA', 'State Dept'],
}
```

The system counts matching news articles in the current feed, applies velocity analysis, and assigns activity levels:

| Level | Criteria | Visual |
|-------|----------|--------|
| **Low** | &lt;3 matches, normal velocity | Gray marker |
| **Elevated** | 3-6 matches OR elevated velocity | Yellow pulse |
| **High** | >6 matches OR spike velocity | Red pulse |

This creates a dynamic "heat map" of global attention based on live news flow.

### Hotspot Escalation Signals

Beyond visual activity levels, the system generates **escalation signals** when hotspots show significant changes across multiple dimensions. This multi-component approach reduces false positives by requiring corroboration from independent data streams.

**Escalation Components**

Each hotspot's escalation score blends four weighted components:

| Component | Weight | Data Source | What It Measures |
|-----------|--------|-------------|------------------|
| **News Activity** | 35% | RSS feeds | Matching news count, breaking flags, velocity |
| **CII Contribution** | 25% | Country Instability Index | Instability score of associated country |
| **Geographic Convergence** | 25% | Multi-source events | Event type diversity in geographic cell |
| **Military Activity** | 15% | OpenSky/AIS | Flights and vessels within 200km |

**Score Calculation**

```
static_baseline = hotspot.escalationScore ?? 3  // 1-5 per hotspot
dynamic_raw = (
  news_component × 0.35 +
  cii_component × 0.25 +
  geo_component × 0.25 +
  military_component × 0.15
)

dynamic_score = 1 + (dynamic_raw / 100) × 4  // maps 0-100 inputs onto 1-5
final_score = static_baseline × 0.30 + dynamic_score × 0.70
```

The static baseline is the editorial `escalationScore` on each hotspot config
(default `3` when absent). It is deliberately kept on the same 1-5 scale as the
dynamic output; the popup exposes it as `staticBaseline` alongside the component
bars so users can separate structural risk from live movement. Many hotspots
also carry a `whyItMatters` narrative rationale for the popup, but that text is
not score-affecting. The code does not apply a geographic proximity multiplier
to the final score.

**Static Baseline Table**

These values come from `INTEL_HOTSPOTS` in `src/config/geo.ts`. Rows without an
explicit `escalationScore` inherit the default `3/5` baseline.

| Hotspot | Baseline | Rationale |
|---|---:|---|
| Sahel | 4 | Coups, jihadist insurgency, and Wagner/Africa Corps expansion. |
| Port-au-Prince | 4 | Gang control, government collapse, displacement, and international security mission. |
| Horn of Africa | 4 | Red Sea spillover, piracy, Al-Shabaab activity, and Ethiopia-Somaliland tension. |
| Pakistan–Afghanistan Border | 4 | Recurring border clashes, TTP attacks, and cross-border military pressure. |
| DC | 3 | US government, military, and intelligence activity hub. |
| Silicon Valley | 3 | AI and major technology-sector activity hub. |
| Wall Street | 3 | Financial-market and Federal Reserve policy activity hub. |
| Houston | 3 | Energy-sector and space-industry activity hub. |
| Moscow | 4 | Nuclear power at war, Ukraine operations, mobilization potential, and nuclear rhetoric. |
| Beijing | 3 | CCP and PLA command center with Taiwan and South China Sea monitoring. |
| Kyiv | 5 | Active war zone with Western support, drone warfare, and nuclear-plant risk. |
| Taipei | 3 | Taiwan Strait and semiconductor supply-chain monitoring. |
| Tehran | 4 | Nuclear threshold, proxy activity, succession uncertainty, and Strait of Hormuz risk. |
| Tel Aviv | 5 | Active Gaza operations, northern-front tension, and Iran confrontation risk. |
| Pyongyang | 3 | Nuclear, missile, cyber, and Russia arms-cooperation monitoring. |
| London | 3 | UK intelligence and Five Eyes activity hub. |
| Brussels | 3 | NATO and EU alliance center. |
| Caracas | 3 | Venezuela political crisis, sanctions, and regional instability. |
| Mexico City | 4 | Cartel fragmentation, fentanyl trafficking, and military deployments. |
| Nuuk | 3 | Arctic strategic territory, US presence, and sovereignty questions. |
| Riyadh | 3 | Saudi power center, OPEC+ decisions, and regional influence. |
| Cairo | 3 | Gaza border control and Suez Canal security. |
| Baghdad | 3 | Iran-backed militias and US military presence. |
| Damascus | 3 | Syrian civil-war aftermath and foreign interventions. |
| Doha | 3 | Diplomatic hub and CENTCOM forward base. |
| Ankara | 3 | NATO member with Kurdish, Syria, and Libya operations. |
| Beirut | 3 | Hezbollah, Lebanon crisis, and Israel border tension. |
| Sana'a | 4 | Houthi Red Sea attacks, ship seizures, and US/UK strike risk. |
| Abu Dhabi | 3 | UAE strategic and regional military hub. |

**Trend Detection**

The system maintains 48-point history (24 hours at 30-minute intervals) per hotspot:

- **Linear regression** calculates slope of recent scores
- **`escalating`**: Slope > +0.1 points per interval
- **`de-escalating`**: Slope &lt; -0.1 points per interval
- **`stable`**: Slope within ±0.1, fewer than 3 valid history points, or a zero regression denominator

**Signal Generation**

Escalation signals (`hotspot_escalation`) are emitted when:

1. A hotspot crosses into a higher whole-number score band at or above `2/5`
2. At least 2 hours since last signal for this hotspot (cooldown)
3. Or the score rises by at least `0.5` points
4. Or the score first reaches the critical threshold (`>=4.5/5`)

**Signal Context**

| Field | Content |
|-------|---------|
| **Why It Matters** | "Geopolitical hotspot showing significant escalation based on news activity, country instability, geographic convergence, and military presence" |
| **Actionable Insight** | "Increase monitoring priority; assess downstream impacts on infrastructure, markets, and regional stability" |
| **Confidence Note** | "Weighted by multiple data sources—news (35%), CII (25%), geo-convergence (25%), military (15%)" |

This multi-signal approach means a hotspot escalation signal represents **corroborated evidence** across independent data streams, not just a spike in news mentions.

## Regional Focus Navigation

The FOCUS selector in the header provides instant navigation to strategic regions. Each preset is calibrated to center on the region's geographic area with an appropriate zoom level.

### Available Regions

| Region | Coverage | Primary Use Cases |
|--------|----------|-------------------|
| **Global** | Full world view | Overview, cross-regional comparison |
| **Americas** | North America focus | US monitoring, NORAD activity |
| **Europe** | EU + UK + Scandinavia + Western Russia | NATO activity, energy infrastructure |
| **MENA** | Middle East + North Africa | Conflict zones, oil infrastructure |
| **Asia** | East Asia + Southeast Asia | China-Taiwan, Korean peninsula |
| **Latin America** | Central + South America | Regional instability, drug trafficking |
| **Africa** | Sub-Saharan Africa | Conflict zones, resource extraction |
| **Oceania** | Australia + Pacific | Indo-Pacific activity |

### Quick Navigation

The FOCUS dropdown enables rapid context switching:

1. **Breaking news** - Jump to the affected region
2. **Regional briefing** - Cycle through regions for situational awareness
3. **Crisis monitoring** - Lock onto a specific theater

Regional views are encoded in shareable URLs, enabling direct links to specific geographic contexts.

## Map Pinning

By default, the map scrolls with the page, allowing you to scroll down to view panels below. The **pin button** in the map header toggles sticky behavior:

| State | Behavior |
|-------|----------|
| **Unpinned** (default) | Map scrolls with page; scroll down to see panels |
| **Pinned** | Map stays fixed at top; panels scroll beneath |

### When to Pin

- **Active monitoring** - Keep the map visible while reading news panels
- **Cross-referencing** - Compare map markers with panel data
- **Presentation** - Show the map while discussing panel content

### When to Unpin

- **Panel focus** - Read through panels without map taking screen space
- **Mobile** - Pin is disabled on mobile for better space utilization
- **Research** - Focus on data panels without geographic distraction

Pin state persists across sessions via localStorage.
