A macOS menu bar app that provides rain forecasts for cycling routes and daily commutes.
RainCheck is a macOS menu bar application designed specifically for cyclists and commuters who need to know when and where rain will affect their routes.
Unlike traditional weather apps that show general forecasts for a single location, RainCheck analyzes weather conditions along an entire journey to provide precise information on when to ride in 5-minute intervals (only for Nordic countries) with long-term 1-hour forecasting fallbacks.
RainCheck provides four distinct advisory states:
- Fully Clear: No rain expected along your route
- Clear Now: Currently dry, but rain is coming - shows when and where
- Raining Now: Currently raining - provides timing for when conditions will improve
- Partial Rain: Mixed conditions with dry windows - identifies the best time to travel
- Route-specific locations: Tells you if rain will be "near start", "mid-route", or "near destination"
- Intensity tracking: Shows rain intensity levels to help you decide if it's rideable
- Custom start and end locations: Set your daily commute route
- macOS 13.0 or later
- Swift 6 or later (for building from source)
- Download the latest release
- Unzip the app
- Open the app
- If needed, grant permission to run the app in System Settings > Privacy & Security
-
Clone the repository:
git clone https://github.com/yourusername/RainCheck.git cd RainCheck -
Build the application:
swift build -c release
-
Run the application:
swift run
- Route Analysis: Points are calculated along a given route (every ~200-500 meters)
- Weather Sampling: Precipitation forecasts are fetched for each point from the Yr.no API
- Searching: Data is combined to find the worst conditions along the route
- Actionable Advice: Clear time-based recommendations in are shown in the menu bar
- Launch RainCheck and click the RainCheck icon in the menu bar
- Click Settings to configure your route
- Enter your starting location and destination
- Save settings and monitor the menu bar icon
The menu bar icon changes based on current conditions:
- ☀️ Sun: Clear weather ahead
- 🌧️ Cloud with rain: Rain is coming
- ⛅ Cloud with sun and rain: Currently raining with improving conditions
- 🌧️ Filled rain cloud: Heavy rain or prolonged wet conditions
The text next to the icon shows timing:
15m= Rain starts/stops in 15 minutes1h30m= Rain starts/stops in 1 hour and 30 minutes
RainCheck uses weather data from Yr.no, a free weather service provided by the Norwegian Meteorological Institute.
- Location data is only used for weather API requests
- No personal data is stored or transmitted
- All weather requests are made directly to Yr.no
- No analytics or tracking
- Weather data provided by Yr.no (Norwegian Meteorological Institute)
- Built with Swift and SwiftUI
- Icons from SF Symbols
Stay dry! 🚴♀️ ☔

