A native desktop weather app.
No account. No telemetry. No cloud sync.
Animated radar · Severe-weather alerts (US + EU) · Air quality · 10-day forecast · Multi-location
Screenshots · Features · Radar · Sun & Moon · Shortcuts · Data sources · Privacy
ZWeather ships as 0.1.0 — not because it's rough or experimental,
but because it hasn't yet been stress-tested by the wild variety of real-world
hardware, OS configurations and usage patterns that earns a 1.0.0.
What it has been through is extensive dev-side testing: repeated crash
cycles, rapid UI stress testing and fixing anything that surfaced before release.
0.1.0 here means fully working, dev-validated, no known
bugs — not "early access, use at your own risk." The version number
reflects epistemic honesty about untested unknowns, not the quality of what's there.
|
|
- Next 24 hours — horizontal scroll strip with a temperature sparkline, hover for per-hour values
- 10-day daily list — high / low, precipitation %, condition icon
- Per-day detail modal — hourly temperature curve, hour-by-hour breakdown (feels-like, humidity, cloud cover, wind, precipitation), UV max, peak wind gust, sunshine duration, a sun arc with day length, a day-level AQI tile and any alerts overlapping that day
| European AQI · US AQI | Auto-routed by country |
|---|---|
| Pollutants | PM2.5 · PM10 · Ozone · NO₂ · SO₂ · CO · Dust |
| Pollen | Alder · Birch · Grass · Mugwort · Olive · Ragweed |
| Trends | 5-day hourly history in the expandable drawer |
| Dominant pollutant badge | Surfaced at a glance on the collapsed card |
A full-screen map with four swappable weather layers:
| 🌧️ Precipitation | Animated radar overlay — past 2 hours + 30-minute nowcast — with a timeline scrubber, play/pause and step controls |
| ☁️ Clouds | Gridded cloud cover painted as soft tinted blobs |
| 💨 Wind | Animated streamline particles flowing along the live wind field, colour-ramped by speed |
| 🌡️ Temperature | Bilinear-sampled heatmap with a smooth colour ramp |
Move your cursor over the map to see the value at that point. Every saved location appears as a labelled pin, with the active one highlighted by a pulsing halo.
- 🇺🇸 US coverage via
weather.gov - 🇪🇺 European coverage via MeteoAlarm national feeds
- Routed automatically by the active location's coordinates
- Top-of-dashboard banner, severity colour-coded
- Detail modal with full text, affected areas and timestamps in the location's timezone
- Alerts overlapping a selected day also surface in the per-day modal
Desktop notifications fire the first time a new alert is seen, with per-severity toggles (extreme · severe · moderate · minor) in Settings.
- Explicit sunrise & sunset times with the day-length total
- Daylight progress bar that animates to the elapsed share of the day
- Concrete golden-hour windows (not just a generic countdown)
- Moon-phase card with illumination percentage
🌙 Click the moon — detailed view
A fully SVG-rendered moon with:
- Selenographically-placed maria (Mare Tranquillitatis, Imbrium, Serenitatis, …)
- 23 named craters at their real coordinates (Tycho, Copernicus, Kepler, Aristarchus, …)
- Tycho's ray system painted across the southern highlands
- Regolith texture, terminator shadow line, limb darkening and faint earthshine on the unlit side
- Real-time libration wobble based on lunar age
- Apparent disc size scales with Earth–Moon distance (1.06× at perigee · 0.94× at apogee)
Plus, in the panel:
- Illumination % · lunar age (days) · Earth–Moon distance with a perigee/apogee orbit bar · angular diameter
- Moonrise · transit · moonset — in your location's timezone
- The next four principal phases with countdowns
- The current zodiac constellation the moon is passing through
Eight outdoor activities scored good · fair · poor with reason chips that explain why — too hot, windy, golden hour, slippery roads, ideal, etc.
| 🏃 Running |
🚴 Cycling |
🥾 Hiking |
🏊 Swimming |
| 🌳 Outdoors |
📷 Photography |
🔭 Stargazing |
🚗 Driving |
Air quality is factored into outdoor activities: poor AQI downgrades the score and surfaces the air-quality band as the reason.
- Add by city search
- Set primary · remove · right-click for actions
- Drag-to-reorder the location strip
- Mouse-wheel scrolls the strip horizontally
- One click switches the active location
- Location names re-localise when you change UI language
A small pill in the title bar shows when the data was last updated. It turns 🟡 amber when the feed is stale (older than 2× your refresh interval) and 🔴 rose when you go offline.
- Premium icon set with day-and-night variants
- Animated hero motion layers behind the temperature, themed per condition — clear · partly cloudy · fog · rain · snow · storm · hail · …
- A condition-tinted gradient over the whole window with a smooth fade between states
Toggle animations off individually
- Animated icons — freezes weather icons to a single frame
- Animated background — instant swap instead of cross-fade
- Time-of-day shift — keep the day palette even at night
| Tray tooltip | Live temperature for your active location (macOS / Windows) |
| Left-click | Compact popover with current conditions and a 6-hour strip |
| Right-click | Open Dashboard · Quit |
A slide-out panel with every option you need:
| 🌐 Languages | 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano |
| 🌡️ Temperature | °C · °F · K |
| 💨 Wind | km/h · mph · m/s · knots |
| 📊 Pressure | hPa · inHg · mmHg |
| 🌧️ Precipitation | mm · in |
| 👁️ Visibility | km · mi |
| 🕐 Time format | 24 h · 12 h |
| 🎨 Theme | dark · light · system |
| ✨ Animations | icons · background · time-of-day shift |
| 🔔 Notification thresholds | per alert severity (extreme / severe / moderate / minor) |
| 🔄 Refresh interval | 5 / 10 / 15 / 30 / 60 minutes |
| 📌 Tray icon style | icon · temperature · both · none |
| 🧪 Send test notification | Button + live permission status indicator |
- Borderless, transparent window with a custom title bar
- Single instance — re-launching focuses the existing window
- Window state remembered between sessions (size · position)
- First-launch setup wizard for time format, units and language
| Context | Key | Action |
|---|---|---|
| Radar map | Esc | Close radar |
| ← / → | Step one frame back / forward | |
| Space | Toggle playback | |
| Any modal | Esc | Dismiss |
ZWeather is transparent about every API it touches. No third-party analytics, no proxies, no aggregators.
| Provider | Used for | Auth required |
|---|---|---|
| Open-Meteo | Forecast · current conditions · air quality · gridded layers (wind, clouds, temperature) | No |
| RainViewer | Animated precipitation radar tiles | No |
| weather.gov | US severe-weather alerts | No |
| MeteoAlarm | European severe-weather alerts | No |
| GeoNames / Open-Meteo geocoding | City search | No |
| CartoDB | Map base tiles (dark mode) | No |
💯 100 % local. Nothing leaves your machine except the direct API calls to the weather providers listed above.
No analytics SDK · No crash reporter · No account system · No auto-updater pinging home · No telemetry of any kind.
Your saved locations, settings, and preferences live in your OS's app-data folder — and stay there.
| Shell | Frontend | Native | Data |
|
Tauri 2 3–7 MB native installer |
React 19 · TypeScript 5.8 Tailwind · Framer Motion · Zustand · React Query |
Rust tray · single-instance · window-state · notifications |
Open-Meteo · RainViewer weather.gov · MeteoAlarm |
Prebuilt installers for Windows, macOS (Intel & Apple Silicon) and Linux live on the project website:
The download page hosts every release format — .exe / .msi (Windows), .dmg (macOS Intel & Apple Silicon), .deb / .rpm / .AppImage (Linux) — alongside a SHA256SUMS.txt file you can use to verify the integrity of any download.
ZWeather is free software, released under the GNU General Public License v3.0.
You can use, study, share and modify it. If you distribute a modified version, it must remain GPL-3.0 and the source must be made available. See the LICENSE file for the full text.
Made by TheHolyOneZ.
- Source code: github.com/TheHolyOneZ/ZWeather
- Downloads / website: zsync.eu/zweather
- More projects: zsync.eu





