← Back

About "Is It Raining on Trump?"

What This Project Does

"Is It Raining on Trump?" estimates Donald J. Trump's current location using public data sources (primarily his published schedule from Factba.se, supplemented by aircraft tracking when available), then queries weather APIs to determine if it's raining there. A minimalist interface displays a large YES or NO, the rain rate in mm/h, and a link to view the provenance of the location.

Whether a rainy notification brightens your day or prompts you to send thoughts and prayers, we don't judge.

Current Status

This project is live and publicly accessible. The source code is open-source under the AGPL-3.0 license. View the code on GitHub.

Version: 2.15.3

Support This Project

This project is free and ad-free. If you enjoy it, consider supporting its development:

โ˜• Ko-fi ยท ๐Ÿ’œ GitHub Sponsors

Share This App

Know someone who'd appreciate real-time Trump rain updates? Spread the word:

๐Ÿ”— Share

Feedback & Issues

Found a bug? Have a feature request? The best way to reach me is through GitHub Issues. This keeps discussions public and helps others who might have the same question.

View Issues on GitHub

Prefer email? Click here to expand contact form

Data Sources & Methodology

1. Aircraft Tracking: Checks ADS-B feeds (OpenSky โ†’ adsb.fi) for Trumpโ€™s jet. If airborne, we assume no rain until arrival; if grounded, we save the last arrival coordinates to cache.

2. Public Schedule (Factba.se): When grounded or no plane data is available, we fetch Trump's JSON schedule from Factba.se. We pick the most recent event with a valid location and apply a 72-hour linear confidence decay. If no event appears within 72 hours, the location is marked "unknown," but a "last known" fallback is preserved.

2b. Overnight Inference: During overnight hours (9PMโ€“8AM Eastern), if both the last evening event and the next morning event are in the same region, we infer the overnight location: White House for DC, Mar-a-Lago for Florida, or Bedminster for New Jersey (the "Summer White House"). This fills the gap between events with ~85% accuracy based on historical schedule patterns.

2c. Context-Based Geocoding: When the schedule contains ambiguous location names that aren't in our curated alias list, we use nearby scheduled events to disambiguate. The system fetches multiple geocoding candidates and filters out physically impossible locations (e.g., can't travel DC to Arizona in 2 hours), then picks the result closest to where other recent events occurred. This prevents misresolutions like "Naval Observatory" matching Arizona instead of DC.

3. Weather Data: With coordinates determined, we query Open-Meteo for current hourly precipitation (both rain and snow). Any precipitation rate > 0 mm/h yields "๐ŸŒง YES" in the UI; otherwise "โ˜€ NO."

4. Thunderstorm Detection: Thunderstorm activity is detected using Open-Meteo weather codes (WMO standard 95-99). Code 95 indicates a moderate thunderstorm, while codes 96, 97, and 99 indicate severe thunderstorms with possible hail. State changes (start, escalation, end) trigger push notifications.

Limitations

This is a best-effort estimate, not real-time surveillance:

License & Credits

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

Data source attributions: