Hobby projects · Research system · AI

Iran Monitor

A multi-source monitoring and Telegram alert system for regional events.

A language model classifies each incoming signal, removes duplicates, and adds the context that goes into the alert.

01

Why I built it

  • My wife was living in Istanbul during the escalation that followed the strikes on Iran. I wanted minutes of warning, not a news cycle.
  • The whole system answers one question: did the conflict reach Turkey. That question sets the sources, the alert levels, and what counts as urgent.
  • The design accepts its own limit. No public source can beat a national siren, so the system aims to be early, not first.

02

Sources

  • I wired up thirteen independent sources, each with its own client, schedule, and failure handling.
  • Seismic: EMSC over a WebSocket for immediate events, and USGS as the backup feed.
  • Aviation: adsb.lol and the OpenSky Network for aircraft movement, filtered to military transponders over a Turkish bounding box, plus NOTAM airspace notices for the Turkish, Iranian, Iraqi, and Syrian flight regions.
  • Civil defense: the Israeli Home Front Command alert feed, as the earliest public signal of an exchange in the region.
  • News: GDELT for global event coverage, and five RSS feeds from Al Jazeera, the BBC, Google News, The War Zone, and Breaking Defense.
  • Open sources: selected Telegram channels and Twitter search, scored for credibility and bias before they can raise an alert.
  • Reference data: ACLED conflict records, UK FCDO travel advice, and NASA FIRMS heat detections.
  • It normalizes and deduplicates incoming signals before alert processing.

03

Analysis and alerts

  • Telegram delivers alerts and health messages.
  • The analyzer sends each signal to a language model, which classifies it, filters duplicates, and adds context.
  • The model is set by configuration, so the service can move to another provider without a code change.
  • The service persists content hashes and Telegram status-message identifiers across restarts.

04

Technology

  • TypeScript
  • Node.js
  • Telegram
  • Anthropic API
  • WebSockets