Tactical Data · Situational Awareness

Turn raw TAK feeds into decisions.

BattlefieldAI taps live Team Awareness Kit (TAK / ATAK) Cursor-on-Target streams and renders them as clean, normalized, affiliation-colored situational awareness — in real time, on your own infrastructure.

Platform online · ingest and metrics live

Built for the tactical edge

Every element runs as a self-contained agent — no cloud dependency, no vendor lock-in. Deploy it beside your TAK server and it starts listening.

Cursor-on-Target ingest

Consumes CoT event streams directly from FreeTAKServer / ATAK clients over TCP, tolerant of comment-annotated multi-event feeds.

Normalized JSON

Messy CoT XML becomes a consistent, queryable JSON schema — position, affiliation, type, and time, ready for any downstream system.

Affiliation-colored GeoJSON

Tracks are emitted as standard GeoJSON, colored by MIL-STD affiliation, so any map — Leaflet, Mapbox, QGIS — renders them instantly.

Live Prometheus metrics

Ingest rate, event types, and affiliation counts are exported to Prometheus and visualized in Grafana out of the box.

A2A control API

A uniform agent-to-agent REST surface — health, status, config, and on-demand jobs — for orchestration and monitoring.

Service discovery

Registers itself with Consul so the rest of the fleet finds it automatically — drop it in and it joins the mesh.

From sensor to screen

A single, observable data path — each stage is a discrete, restartable step.

01 · TAP

Attach to CoT stream

Connects to the TAK server's Cursor-on-Target port and reads events as they arrive.

02 · PARSE

Normalize events

Parses CoT XML — even multi-event, comment-laden feeds — into structured records.

03 · ENRICH

Resolve affiliation

Classifies each track (friend, hostile, neutral, unknown) and assigns its standard color.

04 · EMIT

JSON + GeoJSON

Writes normalized JSON and map-ready GeoJSON, and updates live metrics.

Friend Hostile Neutral Unknown

Live tactical picture

Real Cursor-on-Target tracks ingested by the platform, normalized to GeoJSON and rendered on a map — friendly units, MEDEVAC assets, and live reporting positions, colored by affiliation.

Tactical picture — friendly and MEDEVAC tracks rendered from ingested Cursor-on-Target data
Operational detail — friendly & MEDEVAC ground tracks from live CoT ingest.
Wide-area view — a live reporting track and a unit cluster rendered across the continental US
Wide-area view — a live reporting position alongside a clustered unit laydown.

Observable by design

Nothing runs blind. Every deployment ships with metrics and a dashboard.

Real‑time
CoT stream ingest
JSON + GeoJSON
Dual normalized output
Prometheus
tak_ metric namespace
Grafana
Bundled dashboard

Agent-to-agent API

A consistent control surface across the whole agent fleet.

MethodEndpointPurpose
GET/healthLiveness check
GET/statusAgent status & metrics summary
GET/configCurrent configuration
POST/jobProcess a specific CoT file
POST/batchTrigger batch processing
POST/configUpdate configuration