Overview
Wheely Weather answers one core question before a ride: is it worth going right now? Conversations with recreational and commuter cyclists highlighted three weather signals that mattered most: dew point, feels-like temperature, and wind speed. Among these, dew point was the most critical indicator riders missed in standard weather apps.
How It Works
I designed the app around a clear verdict scored by the weakest weather signal. The app assigns a rating from Great to Bad and explicitly names the limiting factor whenever conditions drop. Raw weather numbers remain visible for riders who want to inspect the details. When conditions are poor, the hourly forecast highlights the next favorable riding window, while the same data powers personalized kit suggestions.

System Design
The screen layout matches the sequence of questions a rider actually asks: can I go, why did it get that rating, and what should I wear? A shared TypeScript scoring domain in src/domain/ powers the ride-quality logic across every platform, while theme-aware components render the same tree on iOS, Android, and web.
Built With
The app is built from a single Expo Router and React Native codebase targeting iOS, Android, and web. The web version is live on Cloudflare Workers at wheelyweather.app. Open-Meteo provides forecast data by default, with Apple WeatherKit integrated on iOS through a custom native module. The project is backed by strict TypeScript, Vitest unit tests, Playwright end-to-end tests, and GitHub Actions CI.
