Back to browse
I built an interactive globe for verified combat events

I built an interactive globe for verified combat events

by IMAYousaf·Mar 11, 2026·2 points·7 comments

AI Analysis

MidNiche GemSlick

Combat-only focus is cleaner than Liveuamap, but data verification pipeline remains unclear.

Strengths
  • Faction color-coding and involvement filters make complex conflicts readable at a glance
  • Mapbox GL globe visualization is smooth with timeline scrubbing for historical playback
  • Deliberately excludes news clutter—only airstrikes, artillery, ground assaults plotted
Weaknesses
  • Competes directly with Liveuamap and ACLED without clear technical differentiation
  • Data sourcing and verification methodology not documented on landing page
Category
Target Audience

Journalists, researchers, policy analysts following military conflicts

Similar To

Liveuamap · ACLED · Crisis24

Post Description

I* have been following the situation in the Middle East closely over the past months and realized I was spending a lot of time just trying to figure out what actually happened where. Most sources either show raw social media posts or mix combat events with general news.

The closest thing to what I wanted is Liveuamap, but it has increasingly become a general news aggregator. The map includes protests, political statements, weather alerts, and unrelated incidents. There are also intrusive ads and the sources are often just reposted tweets without much verification or analysis.

I wanted something more focused. Specifically a map that only tracks combat events and shows the actual evidence when possible.

So I built Defogwar: https://www.defogwar.com/

It is an interactive Mapbox GL globe where military events such as airstrikes, drone strikes, artillery, ground assaults, and territorial changes are plotted geographically. Events are color coded by faction. There is a timeline slider so you can scrub through time and watch how things unfold day by day. Clicking a marker opens details about the event along with embedded video when footage exists.

The goal is simple: no political commentary pins, no news ticker spam, just combat events with sources.

The most interesting part technically ended up being the data pipeline.

Manually curating conflict events does not scale when you are one person, so I built an ingestion layer that pulls from RSS feeds and Telegram channels. The content is passed through Gemini 2.0 Flash which extracts structured fields such as coordinates, event type, factions involved, and severity. Everything then goes into a review queue.

Nothing goes live automatically. Every event still goes through manual review before it appears on the map.

The hardest problem has been filtering propaganda from the AI extraction step. A lot of the best footage actually originates from highly opinionated (or biased depending on your perspective) sources, which means the text surrounding it can contain language like “terrorist state” or exaggerated claims about damage. I often have to manually strip that language and normalize the description so the map remains factual.

Another challenge has been extracting reliable coordinates. Many posts reference places indirectly or only mention nearby towns. I ended up building a geocoding layer to resolve these into coordinates before review.

Current stack:

Next.js 14

PostgreSQL with PostGIS for spatial queries

Mapbox GL for the globe visualization

Cloudflare R2 for video storage (zero egress fees made this practical)

Railway for hosting

Right now the coverage is focused on the Iran conflict. I had other conflicts mapped earlier but temporarily removed them to focus on improving the data quality and pipeline first. Once the ingestion process is more reliable those will come back.

Long term I am also interested in mapping historical conflicts using the same timeline interface. I have found aggregators of historical events like WWII and the Vietnam War etc.

I would love feedback on the map UX. If anyone here works with OSINT data or knows good open sources for verified conflict reporting I would be very interested to hear about them.

*I helped with deployment and some UI refinement. My colleague did the heavy lifting on the engineering and data pipeline. He will be in the comments later. Thanks for considering this!

Similar Projects

Data●●Solid

Micromort Risk Visualizer

Sorting 487 risks by danger level is a genuine rabbit hole for the statistically anxious.

Rabbit HoleCozy
boxed
5021d ago
Design●●Solid

Interactive 3D WebGL Globe for real-time daylight cycles

Pretty globe, but Google Maps 3D, Mapbox, and Globe.gl demos already exist.

Eye CandyRabbit Hole
codechibi
553mo ago