AWE INTELLIGENCE · HEX INTELLIGENCE LAYER

Every signal AWE fuses,
resolved to one hexagon.

Overwatch takes everything the AWE Initiative already collects — community reports, verified events, identity matches, PSIM triggers, patrol coverage — and indexes it onto Uber's open-source H3 grid. The result: a live, explainable safety score for every square kilometre of every deployment, queryable from a map, a dashboard, a report, or an API call.

PHASE 1 · CORE ENGINE IN BUILD · PILOT SITES LIVE
7
Signal types fused
res 7–9
H3 resolutions supported
<150ms
Target p95 hex lookup
1
Unified event schema
LIVE PREVIEW (ILLUSTRATIVE) · Ward 97 · Alexandra, Gauteng · true H3 res 8 tessellation
low
severe
ALEXANDRA SANDTON WYNBERG MARLBORO KELVIN
Active cell · res 8
8a2a1072b59ffff
0.57/ 1.00 Moderate
confidence 0.87 · 7-layer breakdown · 24h horizon

WHY OVERWATCH SLOTS IN CLEANLY

We're not bolting this on. We're finishing what AWE already started.

AWE was built from day one around fusion — identity, community signal, geospatial context and AI orchestration stacked into one Event schema. Overwatch is the missing abstraction layer that turns that fused schema into a single spatial number, everywhere.

💬

Community Signal

WhatsApp Intel already classifies informal chatter into severity-scored, geolocated incidents in real time.

LIVE MODULE
🧑‍🤝‍🧑

Identity Intelligence

FaceMap and VOI Tracker resolve a face or plate into a persistent, searchable record with confidence scoring.

LIVE MODULE
📹

PSIM Integration

Cameras, alarms and perimeter sensors already feed straight into the same event pipeline.

LIVE MODULE
🗺️

GeoSpatial Backbone

4,392 wards, 3,591 facilities, 9 municipalities and custom geofences — already the platform's geographic spine.

LIVE MODULE
🧑‍✈️

Responder Management

Patrol compliance and response times are already measured — Overwatch gives that data somewhere spatial to live.

LIVE MODULE
🔌

Unified Event API

Every stream already resolves to one Event/Location schema, already subscribed to by government and enterprise clients.

LIVE MODULE

THE H3 DECISION

Why a hexagon, and not a ward.

Wards and geofences answer "whose jurisdiction is this?" Hexagons answer "how risky is this exact spot?" — at a resolution that's consistent everywhere, regardless of how a boundary happens to be drawn. Overwatch keeps both: official boundaries for governance, hexagons for scoring.

Square / ward grid

Two different distances between a cell and its neighbours (edge vs. corner) — distorts clustering, smoothing and "nearby" comparisons.

H3 hexagon grid

Exactly one distance to every neighbour, 16 hierarchical resolutions, and near-instant "is this point in this cluster?" lookups — the same properties Uber open-sourced H3 to solve for ride dispatch.


ARCHITECTURE

Seven signals in. One hex score out.

Overwatch sits as a new engine inside the Intelligence Hub, reading from every module that already exists and writing scores back out to every surface that needs them.

💬 WhatsApp Intel 📊 Event Processing 🧑‍🤝‍🧑 FaceMap / VOI 📹 PSIM sensors 🏛️ Facility / Geofence 🧑‍✈️ Responder patrol 📱 User Engagement Overwatch ENGINE weight · decay · score score: 0.57 colorIndex · confidence 7-layer breakdown 🗺️ Map layer 🚨 Events 📐 Geofence 🧑‍✈️ Patrol 📄 Reports 🔌 API Signals (left) → fused & weighted at H3 res 8 (centre) → scored object fans out to every surface (right)

TRANSPARENCY BY DESIGN

Every score shows its working.

In line with AWE's Transparency pillar, a hex score is never a black box. Seven weighted layers compose it, and every layer is independently inspectable — availability-aware, so a missing signal redistributes its share instead of zeroing the score.

Layer weights (default profile)

Community SignalWhatsApp Intel severity + volume
0.24
Verified EventsEvent Processing outcomes
0.20
User EngagementApp usage, surveys & community forums
0.14
Identity MatchesFaceMap / VOI confirmed hits
0.13
PSIM / Sensor StatePerimeter & alarm triggers
0.12
Built EnvironmentFacility & geofence context
0.10
Responder ContextPatrol density & compliance
0.07
// GET /v1/hex/8a2a1072b59ffff/details
{
  "h3": "8a2a1072b59ffff",
  "safetyScore": 0.57,
  "colorIndex": 3,
  "intent": "night",
  "confidence": 0.84,
  "breakdown": {
    "community": 0.70,
    "events": 0.55,
    "engagement": 0.51,
    "identity": 0.30,
    "psim": 0.40,
    "builtEnv": 0.62,
    "responder": 0.45
  },
  "as_of": "2026-07-11T09:12:00Z"
}

SAMPLE OUTPUT

Query a cell. Get a full report back.

This is exactly what a client receives when they click a hex on the map or query it via the API — the score, the maths behind it, the underlying intelligence, and how the surrounding area pulled it up or down.

cell-8a2a1072b59ffff-report.pdf
AWE Overwatch
Cell Intelligence Report
Report ID: OW-2026-071142
Generated: 11 Jul 2026, 09:12 SAST
Requested by: Client Risk Review
H3 index (res 8)
8a2a1072b59ffff
Location
Ward 97, Alexandra
Centroid
-26.1015, 28.0972
Overall score
0.57
Classification
Moderate
Confidence
0.87
How this score was calculated
Each of the seven signal layers is scored independently at this cell, then combined using the deployment's weighting profile.
LayerWeightLayer scoreContribution
Community Signal0.240.700.168
Verified Events0.200.550.110
User Engagement0.140.510.071
Identity Matches0.130.300.039
PSIM / Sensor State0.120.400.048
Built Environment0.100.620.062
Responder Context0.070.450.032
Own-cell raw score0.53
Supporting intelligence
The individual data points behind each layer score above — exactly what a control room operator or auditor can drill into.
💬 Community Signal7 reports / 72h · median for this ward: 3
2h agoSev 3 — suspicious loitering reported near the taxi rank
14h agoSev 2 — attempted break-in reported by a resident
1d agoSev 4 — armed robbery reported at a corner spaza shop
📊 Verified Events2 open · 1 resolved / 7d
EVT-88213CRI · unresolved · burglary in progress · 3h ago
EVT-88190MED · resolved · medical response dispatched · 1d ago
📱 User Engagement42 app sessions / 7d
App42 residents opened the safety app within this cell in the past 7 days
Survey"Do you feel safe here at night?" — 61% no (n=38 respondents)
Forum5 community-forum threads referencing this corridor in the past month
🧑‍🤝‍🧑 Identity Matches1 confirmed / 30d
VOI1 confirmed plate match — watch-list vehicle, 4 days ago
FaceMap0 high-confidence matches in the trailing 30 days
📹 PSIM / Sensor State2 triggers / 14d
Alarm2 perimeter triggers in the past 14 days, both resolved as false-positive
Coverage1 camera offline — reduces sensor-coverage confidence for this cell
🏛️ Built EnvironmentFacility & geofence context
FacilityNearest SAPS station: 3.2km — outside the ward's rapid-response radius
GeofenceClassified as an "amber-lit corridor" — partial streetlight coverage
🧑‍✈️ Responder ContextPatrol & SLA
Patrol2 patrol pass-throughs in the past 24h — below the 4-pass target
SLAAverage response time to this cell: 11 min against an 8 min SLA
Spatial context — how neighbouring cells shifted this score
A cell's published score is never judged in isolation. Overwatch blends the cell's own weighted signals with a decayed average of its six immediate neighbours (H3 ring 1) — the same reasoning a human analyst applies when a quiet block sits one street away from a hotspot.
0.74 0.55 0.81 0.52 0.70 0.82 OWN0.53
own-cell raw score    = 0.53
ring-1 neighbour avg  = (0.74+0.55+0.81+0.52+0.70+0.82) / 6 = 0.69
final published score = 0.75 × 0.53 + 0.25 × 0.69
                     = 0.57

This cell's own signals only justify a 0.53 — but it sits inside a rougher six-cell cluster, so the published score is nudged up. A ward-level average would have hidden this entirely.
Confidence breakdown
Confidence reflects how much to trust the score above, independent of the score itself.
Signal recency
0.92
Source coverage
0.83
Sample size
0.86
What this means for you
The same report, read through five different lenses.
🏦
Insurance
Feeds a risk multiplier for policies written inside this cell — comparable-scored cells run at 1.8× the city's median claim frequency.
🏛️
Government
Flags this cell for the next lighting-infrastructure and community-policing budget review cycle.
🏙️
Municipality
Surfaces in the ward's monthly accountability report as a patrol-reallocation candidate.
🚚
Logistics
Route Risk treats this as an amber corridor, biasing evening delivery routing around it where a viable alternative exists.
🏠
Real Estate
Included in a listing's security-context summary, with a recommended security-spend note for this specific block.

WHERE CLIENTS SEE IT

One engine. Six places it already fits.

No new dashboard to learn — Overwatch writes into the modules clients already use every day.

Live Map

Hex heat-layer

A togglable safe→severe hex overlay on the existing live map — the same visual language as ward and geofence layers.

CRI-MR3B355P · Alexandra
Hex score: 0.57 moderate
3 similar events / 500m / 20min
Event Processing

Hex context panel

Every incoming event shows the ambient score of the hex it landed in — plus how it compares to its immediate neighbours.

Geofence: Corner Yard
Alert threshold: auto-tightened
ambient hex: severe
Geofence Zones

Score-aware triggers

Entry/exit alert sensitivity adjusts automatically for zones sitting inside a high-scoring hex.

Responder Management

Score-weighted patrol routing

Patrol paths bias toward high-scoring hexes during coverage gaps, instead of a fixed loop.

Ward 97 · 90-day trend
avg hex score: 0.61 → 0.49
↓ 19.7% after patrol density +2
Reports & Accountability

Defensible trend exports

Hex score over time becomes an exportable KPI for tenders, board packs and municipal reviews.

Intent: retail-footfall
Intent: estate-night
Intent: insurance-underwrite
Industry Solutions

Per-vertical intent scores

The same hex, scored differently for a retail footfall use case, an estate's night-patrol use case, or an insurer's underwriting use case.


WHO THIS IS FOR

One score. Seven very different jobs.

Insurance prices with it. Logistics routes around it. Municipalities budget against it. Real estate discloses with it. Control rooms operate on it. Communities get alerted by it. Agents reason with it.


BEYOND THE DASHBOARD

Built for a client's own systems, not just ours.

Overwatch extends the Intelligence Hub's existing subscriber model — Government, Enterprise and Private Sector clients already integrate the Unified Event API. Hex scores become one more queryable layer inside that same contract.

TypeScript SDK
CLI
MCP server
REST
$ npm i @aweinitiative/overwatch

// score.ts
import { Client, hexLookup } from "@aweinitiative/overwatch"

const client = new Client() // reads AWE_API_KEY from env

const out = await hexLookup(client, { lat: -26.10, lng: 28.05, ring: 1, intent: "night" })
console.log(out.count, out.results[0].safetyScore) // → 7 0.57
🏛️

Government

Municipal & national agencies integrate the fused hex feed into their own command-and-control or GIS systems, city- or region-wide.

🏢

Enterprise

Insurers, logistics and analytics platforms pull raw hex-scored streams to enrich underwriting, routing and risk models.

🛡️

Private Sector

Security operators and multi-site PSIM clients subscribe at site or portfolio level to only the hexes covering their own footprint.



GLOBAL BY DESIGN

The grid already covers the planet. We just need your data.

Overwatch is built on H3, Uber's open-source discrete global grid system. H3 doesn't stop at a country border — it's already projected across the entire Earth, on every icosahedron face, at every resolution. Drag the globe, or click a city, to see exactly how many H3 cells are already indexed there.

Drag to rotate · click a city for its cell count
122
Resolution-0 base cells (110 hex + 12 pentagons)
Unique H3 cells worldwide at res 8
16
Resolutions, continent to doorstep

"Base cells" and "total cells" are two different numbers. H3 starts from just 122 resolution-0 base cells laid over an icosahedron — but each subsequent resolution divides every cell into 7 children, so by resolution 8 (our working resolution) that's 691,776,122 unique cells already indexed across the entire planet, with zero new geospatial infrastructure required to use any of them.

City counts below are computed live in your browser using the actual open-source h3-js library (v4) — h3.polygonToCellsExperimental() run against a circular approximation of each city's own municipal area, in "containmentOverlapping" mode so partially-covered edge cells are counted too. Not a static estimate, and not a lookup table — a real function call.

01

Point at a region

The H3 index for any city on Earth already exists — no new grid to build or licence.

02

Connect local signals

Community app, PSIM feeds, verified events, patrol data — whatever the market already has.

03

Live scoring in weeks

Weight profiles retune per market; the underlying engine, schema and API stay identical.

Live deployment Grid ready — same H3 index, new data sources
WHERE WE ARE, WHERE WE'RE GOING

In active development — here's what ships next.

Overwatch is being built in phases directly on top of AWE's existing modules, so early phases go live without waiting on the later ones.

Phase 0 · Live

Foundations

Already shipped, already earning its keep.

Unified Event/Location schema across every module
GeoSpatial backbone: wards, facilities, municipalities, geofences
WhatsApp Intel severity + volume classification
Subscriber API for Government & Enterprise clients
Phase 1 · In build

Core Hex Engine

The current sprint. Pilot sites are already indexing live.

H3 ingestion pipeline for all seven signal types at res 8
Availability-aware weighting with confidence scoring
"Hex Risk" tab inside the GeoSpatial admin module
Internal scoring console for weight & decay tuning
Phase 3 · Roadmap

Predictive & Route Layer

Moving from "what happened here" to "what's likely next, and what's the safest way through."

Short-horizon hex forecast model, validated on historical holdouts
Route Risk: safest-corridor routing between two points for patrol & logistics
Per-vertical Intent Scores (estate, retail, night, insurance, logistics)
Self-serve decay-window & sensitivity tuning per deployment
Phase 4 · Roadmap

Open Developer Platform

Opening the engine outward as a standalone, monetisable data product.

General availability of SDK, CLI and MCP server
Partner ingest-back webhook for third-party signal contribution
Forensics export tier for insurers & underwriters
Multi-country expansion beyond South Africa

PACKAGING · INDICATIVE

Packaged the way clients already buy AWE.

Overwatch isn't a separate sale — it's a tier inside the subscription model AWE already runs. Figures below are a starting template; final scope and pricing are set per deployment.

Included
Every AWE deployment
  • Hex heat-layer on the live map
  • Event Processing hex context
  • Default 7-layer scoring profile
  • Res 8 coverage of your footprint
Enterprise / PSIM
Multi-site operators
  • Everything included, plus:
  • Score-aware geofence tuning
  • Patrol routing integration
  • Portfolio-level hex API access
Government / Municipal
City & regional command
  • City-wide hex coverage
  • Department routing tied to hex trend
  • Full forensics breakdown per hex
  • Dedicated onboarding support
Developer / API
Insurers, logistics, analytics
  • SDK, CLI & MCP access
  • Metered API units, monthly billed
  • Batch export for model training
  • Custom weight profiles (scoped)

Pricing tiers are illustrative and intended as a working template for commercial scoping — not final published rates.

AWE OVERWATCH

See your own footprint, scored.

Book a walkthrough and we'll run Overwatch against a real ward or site you already operate.