A beautifully simple weather app you can rely on!
Inspired by Breezy Weather.
- iOS: iPhone and iPad support (iOS 13.4+)
- macOS: Full Mac Catalyst support with native macOS widgets (macOS 13.0+)
- Two-column layout with sidebar and detail view
- Optimized for desktop mouse/trackpad navigation
- Native macOS window management
- Widgets: iOS Home Screen and macOS Notification Center widgets
- Current Conditions: Temperature, feels like, weather description, and live updates
- Hourly Forecast: 24-hour temperature and precipitation forecast with interactive scroll
- Daily Forecast: 7-day extended forecast with high/low temperatures
- Weather Alerts: Severe weather warnings with severity levels
- Air Quality Index: Real-time AQI with component breakdown (PM2.5, PM10, O3, NO2, SO2, CO)
- Pollen Levels: Grass, tree, ragweed, and mold counts
- UV Index: Daily UV levels with risk assessment
- Wind: Speed, gusts, and direction
- Precipitation: Probability, total amount, and type
- Humidity: Relative humidity and dew point
- Pressure: Atmospheric pressure
- Visibility: Current visibility distance
- Sun & Moon: Sunrise, sunset, moonrise, moonset, and moon phase
- Multiple Locations: Save and manage multiple locations
- Current Location: Automatic GPS-based weather
- Location Search: Search cities worldwide using Open-Meteo geocoding
- Theme: Light, dark, or system automatic
- Units:
- Temperature: Celsius / Fahrenheit
- Wind: km/h / mph / m/s / knots
- Pressure: hPa / inHg / mmHg
- Precipitation: mm / inches
- Distance: km / miles
- Weather alerts
- Precipitation notifications
- Daily forecast notifications
- Tomorrow's forecast preview
- Current Weather Widget: Small, medium, and large sizes
- Temperature with color-coded display
- Weather condition icon and text
- High/low temperatures
- Additional details (humidity, wind, feels-like) in large size
- Daily Forecast Widget: Medium, large, and extra-large sizes
- 4-7 day forecast with temperature bars
- Precipitation probability indicators
- Visual temperature range representation
- Widget Configuration: Select any saved location
- Auto-refresh: Updates every 15-30 minutes
- App Group Sharing: Unified data between app and widgets
Currently integrated with The National Weather Service (NWS) API for US weather, and Open-Meteo for global forecasts.
- Weather forecast
- Current conditions
- Air quality data
- Pollen data
- Geocoding search
- No API key required
src/
├── App.tsx # Root component
├── types/
│ ├── weather.ts # Weather data types
│ └── settings.ts # Settings types
├── store/
│ └── weatherStore.ts # Zustand state management
├── services/
│ └── openMeteoService.ts # Open-Meteo API integration
├── navigation/
│ └── RootNavigator.tsx # React Navigation setup
├── screens/
│ ├── HomeScreen.tsx # Main weather display
│ ├── LocationsScreen.tsx # Location management
│ ├── SettingsScreen.tsx # App settings
│ ├── SearchLocationScreen.tsx # Location search
│ ├── DailyDetailScreen.tsx # Detailed daily view
│ └── AlertsScreen.tsx # Weather alerts
├── components/
│ ├── CurrentWeatherCard.tsx # Current conditions
│ ├── HourlyForecastCard.tsx # Hourly scroll view
│ ├── DailyForecastCard.tsx # Daily forecast list
│ ├── WeatherDetailCard.tsx # Wind, humidity, etc.
│ ├── AirQualityCard.tsx # AQI display
│ ├── PollenCard.tsx # Pollen levels
│ ├── SunMoonCard.tsx # Sun/moon times
│ └── AlertBanner.tsx # Alert notification
└── theme/
└── colors.ts # Color system
- Node.js 18+
- Xcode 14+ (for iOS/macOS development)
- CocoaPods
- Clone the repository:
git clone https://github.com/yourusername/zephyr-weather.git
cd zephyr-weather- Install dependencies:
npm install- Install iOS/macOS pods:
cd ios && pod install && cd ..- Start the Metro bundler:
npm start- Build and run:
iOS:
npm run iosmacOS (Catalyst):
npx react-native run-ios --scheme ZephyrWeather --destination "platform=macOS,variant=Mac Catalyst"Or open ios/ZephyrWeather.xcworkspace in Xcode and select "My Mac (Designed for iPad)" as the destination.
For detailed macOS setup instructions, see MACOS_SETUP.md.
react-native- Cross-platform mobile frameworktypescript- Type safety
zustand- Lightweight state management@react-native-async-storage/async-storage- Persistent storage
@react-navigation/native- Navigation container@react-navigation/native-stack- Native stack navigator@react-navigation/bottom-tabs- Tab navigation
react-native-vector-icons- Icon libraryreact-native-safe-area-context- Safe area handlingreact-native-screens- Native navigation screensreact-native-linear-gradient- Gradient backgroundsreact-native-haptic-feedback- Haptic feedback
date-fns- Date formattingaxios- HTTP client
@react-native-community/geolocation- GPS access
- Widget support (iOS & macOS)
- macOS Catalyst app
- Apple Watch companion app
- Additional weather sources (NWS, MET Norway, etc.)
- Weather maps (radar, satellite)
- Interactive charts
- Background refresh
- Siri shortcuts
- iPad-optimized layout
- Inspired by Breezy Weather
- Weather data by Open-Meteo (CC BY 4.0)
- Icons by Material Community Icons
MIT License - see LICENSE for details.



