Skip to content

A macOS menu bar application designed specifically for cyclists and commuters who need to know when and where rain will affect their routes.

Notifications You must be signed in to change notification settings

andersfischernielsen/RainCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RainCheck ☔

A macOS menu bar app that provides rain forecasts for cycling routes and daily commutes.

RainCheck Screenshot


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.

Features

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

RainCheck States

Installation

Requirements

  • macOS 13.0 or later
  • Swift 6 or later (for building from source)

Releases

  1. Download the latest release
  2. Unzip the app
  3. Open the app
    • If needed, grant permission to run the app in System Settings > Privacy & Security

Building from Source

  1. Clone the repository:

    git clone https://github.com/yourusername/RainCheck.git
    cd RainCheck
  2. Build the application:

    swift build -c release
  3. Run the application:

    swift run

Implementation

  1. Route Analysis: Points are calculated along a given route (every ~200-500 meters)
  2. Weather Sampling: Precipitation forecasts are fetched for each point from the Yr.no API
  3. Searching: Data is combined to find the worst conditions along the route
  4. Actionable Advice: Clear time-based recommendations in are shown in the menu bar

Usage

First Time Setup

  1. Launch RainCheck and click the RainCheck icon in the menu bar
  2. Click Settings to configure your route
  3. Enter your starting location and destination
  4. Save settings and monitor the menu bar icon

Reading the Menu Bar

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 minutes
  • 1h30m = Rain starts/stops in 1 hour and 30 minutes

Data Source

RainCheck uses weather data from Yr.no, a free weather service provided by the Norwegian Meteorological Institute.

Privacy

  • 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

Acknowledgments

  • Weather data provided by Yr.no (Norwegian Meteorological Institute)
  • Built with Swift and SwiftUI
  • Icons from SF Symbols

Stay dry! 🚴‍♀️ ☔

About

A macOS menu bar application designed specifically for cyclists and commuters who need to know when and where rain will affect their routes.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages