Zorya

About Zorya

Polski

Zorya ("watch before dawn") is a free, non-commercial situational-awareness map of air threats for Poland, with context from Ukraine. It brings publicly available information into one place: sightings of drones and missiles over Ukraine, air-raid alerts in Ukrainian oblasts, air traffic over Poland, and Polish official threat notices. Every minute it uses them to assess whether anything may concern your voivodeship (Polish province).

The problem

When drones or missiles approach eastern Poland, the information is scattered across Ukrainian OSINT channels, Polish RSO notices and RCB Alerts, the media and flight trackers. It is hard to tell quickly whether an event concerns your region, and single unconfirmed reports easily cause alarm. Zorya collects these signals, puts them in order, and shows clearly where each piece of information comes from and how certain it is.

How it works

1. Collection. Every 60 seconds the server pulls data from open, public sources only:

  • NEPTUN (neptun.in.ua): OSINT-based tracking of aerial threats over Ukraine (Shahed-type drones, missiles, aircraft). This is not radar data.
  • Air-raid alerts in Ukrainian oblasts, fetched via NEPTUN.
  • ADS-B (adsb.lol): aircraft over Poland that broadcast their own position, including aircraft that service flags as military near the eastern flank.
  • RSO / RCB Alert (komunikaty.tvp.pl): Polish official notices about air threats.
  • Media: RMF24 and PAP RSS feeds, filtered for air-threat content. Drills, smog and traffic news are discarded.
  • Zorya's own engine (Ukraine): reads the public Telegram channels listed in the source registry published by NEPTUN (neptun.in.ua): the Ukrainian Air Force @kpszsu, reconnaissance channels, regional observers and aggregators. It extracts target type, place and direction with rules (no AI) and estimates tracks of drones, missiles and KAB glide bombs. MAPA.UA (mapa.ua) only fills in objects the engine missed; every object is labelled with its source. Separate layer; it does not affect the voivodeship score.
  • GeoNames (geonames.org, CC BY 4.0 licence): names and coordinates of Ukrainian settlements used by the own engine to locate reports.
  • NOTAMs (FAA NOTAM Search, FIR EPWW, every 30 minutes): notices for Polish airspace — prohibited, restricted and danger areas, exercises, firing, drone flights. The area is drawn from the NOTAM text, or as an approximate circle when the text gives none. Informational layer: it does not affect the voivodeship score and is not for flight planning.
  • Local RSO notices (komunikaty.tvp.pl): water, power and gas failures and planned outages, plus announced exercises and siren tests, assigned to voivodeships. Selected automatically by content, with the time window read from the notice. They do not affect the voivodeship score.

Each source has its own health indicator. Data older than 15 minutes is ignored.

2. Assessment. For each of Poland's 16 voivodeships, Zorya scores a rolling 60-minute window. The score takes into account object type, distance from the Polish border, heading relative to Poland, the age and quality of the location, the confidence and confirmation count reported by the source, alerts in Ukrainian oblasts near the border, and media reports. An official air-threat notice for a voivodeship sets the highest level immediately. Objects more than 250 km from the border are displayed but not scored. The map shows three states: calm, watch and priority. Zorya also rates each of the 380 powiaty (counties): drones, missiles and Ukrainian oblast alerts are measured from the county's centre, while RSO/RCB notices and media count for the whole voivodeship, because that is all they say. A county can be at most one step above its voivodeship. A gmina takes its county's level: no source on air threats is more precise. Clicking a gmina or searching an address shows the distance and direction of the nearest objects and the notices and airspace zones for that gmina.

3. Live map. It shows voivodeships coloured by level, Ukrainian oblasts with active alerts, NEPTUN objects with a location-uncertainty circle and track, and ADS-B aircraft. You can zoom out to see the whole region: Poland, Ukraine and the Baltic states. Basemap: OpenFreeMap / OpenStreetMap.

4. Archive. Every NEPTUN drone or Shahed track is kept in a local archive for 180 days and then deleted automatically. The archive is not public: in full it can be read only from the server's local network; the map shows only the route of an object that is being tracked right now. It is used to analyse patterns, such as when and where threats most often approach the border.

Who it is for

  • People in Poland, especially the eastern voivodeships, who want to check quickly whether something is happening in their region.
  • People with family in Ukraine who follow the situation across the border.
  • Journalists, local officials, emergency-management staff and researchers who need an orderly picture from open sources.

Principles

  • Non-commercial. No ads, no selling of data. A project of the Terra Incognita Foundation (registration in the Polish National Court Register, KRS, is in progress).
  • Open sources only. Zorya shows only information that is already public, and always says where it came from.
  • Privacy. No accounts, cookies or ads, and no third-party scripts. Fonts are self-hosted.
  • OPSEC. Zorya has no sensors of its own. It does not publish positions of Polish or allied forces, locations of critical infrastructure, or any operational data. It adds nothing that is not already in open sources.
  • Open code. The source code is on GitHub: github.com/mhalaba/zorya.
  • Infrastructure. The server runs in Poland. Traffic to the site passes through Cloudflare.

Limitations: read before you rely on it

Zorya is not an official warning system. It does not replace sirens, RCB Alerts, RSO or official announcements. In a threat, follow the authorities' instructions, and in an emergency call 112.

  • NEPTUN data comes from OSINT, not radar. Positions are approximate (hence the uncertainty circles) and may be delayed, incomplete or wrong.
  • Zorya has no access to Polish or NATO radar data.
  • The watch and priority levels come from a simple, published heuristic, not a military assessment.
  • A source may go down. Its indicator then goes dark and the assessment relies on the others.

Author and contact

Built by Matthew Halaba. Operated by Matthew Halaba.

Contact: [email protected]

Code: github.com/mhalaba/zorya