Pre-Alert is an advanced early warning system designed to notify users before traditional sirens are triggered during rocket attacks in Israel. By analyzing real-time movements of planes, the app detects abnormal, simultaneous deviations from their flight paths - changes that typically occur due to regulations enacted at the onset of an attack.
As of now, the system runs as a Python script, but I'm looking forward to rewriting it in either Rust, C or C++ in the near future!
When a rocket attack is imminent, aviation authorities enforce strict regulations causing planes in the affected region to change course, land, or hold patterns. These coordinated maneuvers often precede public warning sirens and alerts, especially when we're dealing with a long-range threat such as a ballistic missile.
Pre-Alert leverages this critical window by:
- Monitoring Plane Positions: Tracking and extracting detailed information from various aircraft signals.
- Generating a Heatmap: Continuously updating a 3D heatmap of plane movements and deviations over the region.
- Detecting Anomalies: Identifying clusters of planes that abruptly leave their routes in synchronization, suggesting regulatory action.
- Early Notification: Providing alerts when multiple planes become isolated or deviate in patterns indicative of imminent attack protocols, potentially ahead of official warnings and sirens.
Here's 1 hour of traffic, in a 60x timelapse (GIF may take a while to load):
Well, there's already a prototype app that works, Altivis!
20:26ALTIVIS sent out an early warning20:29PIKUD HA'OREF sent out an early warning
That's 3 minutes before the official warning! The sirens began at 20:32.
Pre-Alert already offers a very simple mobile app:
- You install the app and enable notifications.
- When an attack is detected, you'll receive a notification on your phone.
- The data processing and detection runs in the cloud, keeping the app lightweight and fully automatic for end users.
I called it "Altivis" (Altitude + Visualization). I'll release the APK very soon!
Pre-Alert is a working, production project. It already performs the following:
- Fetches and decodes real-time flight data from multiple aircraft types and signal formats.
- Filters and processes aircraft, extracting position, altitude, flight status, and other relevant metrics.
- Builds and updates a heatmap (
heatmap.json) of aircraft movements at regular intervals. - Analyzes current aircraft positions (
current.json) and compares them to historical patterns. - Detects and highlights isolated planes, indicating possible regulatory maneuvers.
- Triggers mobile push notifications in the app, which I will release very soon!
- Integrate real-time flight data sources and decode multiple aircraft formats.
- Build and update a persistent heatmap of aircraft movements.
- Detect and notify about isolated planes and abnormal movement clusters.
- Visualize aircraft positions and heatmap deviations.
- Implement audible alerts for detected anomalies.
- Create a simple mobile app with push notification support.
- Deploy detection backend to a cloud environment.
- Add support for configurable alert rules and thresholds.
In order to run the backend detection system locally you must have a program running to populate current.json with live aircraft positions. This can be done using official APIs (e.g. "FlightRadar24" or "ADSBx"). Once you do, simply run the python script by running python main.py.
All feedback, ideas, and contributions are welcome! Please open an issue or pull request if you'd like to help! ❤️
