Mapping Middle East kinetic events via automated OSINT and deduplication
An automated OSINT platform that aggregates and deduplicates kinetic event data from verified defense sources (CENTCOM, AP, Reuters) using a circuit breaker algorithm to eliminate data hallucination and provide a machine-readable, confidence-tagged intelligence feed with temporal filtering and airspace NOTAM integration.
A few weeks ago I shared an early version of a Middle East threat map. Since then, the conflict has escalated, and the "fog of war" across social media has only gotten thicker.
I realized my previous version was too much of a raw data dump. To make it actually useful for understanding the tactical reality on the ground, I spent the last few weeks completely rebuilding the intelligence engine and the UX to focus entirely on the signal-to-noise ratio.
You can see the live matrix here: https://iranwarlive.com
The goal of this project is to provide a purely data-driven, mathematically verified ledger of kinetic events, without the editorializing or unverified rumors found on Twitter/Telegram.
A few things I focused on for this iteration:
Strict Sourcing & Confidence: The engine ignores social media rumors. It strictly aggregates from high-confidence defense wires (CENTCOM, AP, Reuters). Events are now tagged with a Confidence Bar (High/Med/Low) based on the source origin.
Temporal Hierarchy: A major issue with war maps is marker clutter. Now, only strikes from the last 72 hours glow and pulse. Older events automatically fade into a gray "historical" background layer. You instantly see what is happening now without losing historical context.
Automated Deduplication: To prevent data hallucination, the backend uses a "Circuit Breaker" algorithm that mathematically deduplicates historical casualty recaps found in news articles, extracting coordinates and casualty splits (Military vs Civilian) strictly for new kinetic events.
Airspace NOTAMs: Added a live layer tracking commercial flight restrictions and airspace closures to show the logistical impact of the conflict.
Machine Readable: I added a canonical /feed.json and /llms.txt so Answer Engines and researchers can crawl the live threat matrix directly without scraping the DOM.
Tracking a live conflict accurately is inherently difficult, and I am constantly trying to refine how the engine parses "Subject" and "Object" from defense feeds to avoid bias.
I’d love to hear your feedback on the usability of the map, the data presentation, or if there are specific OSINT data feeds you think I should integrate into the pipeline.