Skip to content

TheHolyOneZ/ZWeather

Repository files navigation

ZWeather

ZWeather

A native desktop weather app.
No account. No telemetry. No cloud sync.

Tauri 2 React 19 TypeScript Rust
Platforms 5 languages 100% local GPL-3.0

Animated radar · Severe-weather alerts (US + EU) · Air quality · 10-day forecast · Multi-location

Screenshots  ·  Features  ·  Radar  ·  Sun & Moon  ·  Shortcuts  ·  Data sources  ·  Privacy


A note on versioning

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.


Screenshots

Dashboard
Main dashboard
hero · 24 h strip · 10-day list · right rail
Rain radar
Radar map
precipitation · clouds · wind · temperature
Per-day detail modal
Per-day detail
hourly curves · AQI · overlapping alerts
Settings panel
Settings
units · appearance · notifications · refresh · tray
Moon phase detail
Moon detail
phase · illumination · rise & set times
Location search
Location search
find any city by name

Features

🌡️ Current conditions

  • Hero temperature with a weather-driven icon
  • Feels-like temperature & today's high / low
  • Humidity, dew point, pressure (with rising / falling / steady trend arrow)
  • Colour-coded UV index pill
  • Wind speed, direction, and a dedicated compass card
  • Live clock and date rendered in the active location's timezone (not your machine's)
  • Next sun event (sunrise or sunset) with a countdown
  • Morning & evening golden-hour windows
  • Visibility · pressure trend · dew point inline

📅 Forecasts

  • 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

🍃 Air quality & pollen

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

🛰️ Radar map

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.

⚠️ Severe-weather alerts

  • 🇺🇸 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.

☀️ Sun & moon

  • 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

🚴 Activity suitability

Eight outdoor activities scored good · fair · poor with reason chips that explain whytoo 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.

📍 Locations

  • 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

🟢 Live freshness

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.

🎨 Weather icons & animation

  • 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

🖥️ System tray

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

⚙️ Settings

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

🪟 Window UX

  • 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

Keyboard shortcuts

ContextKeyAction
Radar map EscClose radar
/ Step one frame back / forward
SpaceToggle playback
Any modalEscDismiss

Data sources

ZWeather is transparent about every API it touches. No third-party analytics, no proxies, no aggregators.

ProviderUsed forAuth required
Open-MeteoForecast · current conditions · air quality · gridded layers (wind, clouds, temperature)No
RainViewerAnimated precipitation radar tilesNo
weather.govUS severe-weather alertsNo
MeteoAlarmEuropean severe-weather alertsNo
GeoNames / Open-Meteo geocodingCity searchNo
CartoDBMap base tiles (dark mode)No

Privacy

💯 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.


Tech stack

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

Download

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.


License

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.


Author & links

Made by TheHolyOneZ.


Built on Tauri 2. Made with care, not telemetry.

About

A cinematic, privacy-first desktop weather app for Windows, macOS and Linux. Animated radar, hyper-local forecasts, air quality and severe-weather alerts — no accounts, no telemetry, no cloud sync. Built with Tauri 2 + React 19 + Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors