iOS Weather App
LucidSky
See what meteorologists actually see. Forecast confidence, 9+ weather models, and honest uncertainty on every prediction.



Solo Project · Live on the App Store
From concept to App Store, independently
LucidSky is a production iOS weather app I designed, engineered, and shipped. I handled every layer: product strategy, UX design, full-stack engineering, App Store submission, and ongoing operations.
I structured it as a monorepo with a shared API: one backend serves both the web app and the mobile client. That decision changed how I think about building products. Design the API first, and the clients become thin, focused interfaces. Iterate once, both platforms benefit.
React Native · Expo · Next.js · Three.js · Claude AI · Supabase · RevenueCat · TypeScript
The Problem
Every weather app gives you a single number and calls it a forecast
Forecast models don't produce single numbers. They produce probability distributions. That "72 degrees" is actually the median of a range that might span 65 to 79 degrees, and the confidence varies dramatically between tomorrow and next week. Different models often disagree entirely.
Meanwhile, NWS meteorologists write detailed forecast discussions explaining what they see, why models disagree, and what to watch for. That analysis exists. No consumer weather app was surfacing it.
Weather forecasts are inherently uncertain, but most apps hide that behind a single number. LucidSky doesn't.
Core Experience
Confidence ranges on every prediction
In Honest Mode, every metric shows a range that reflects actual forecast uncertainty. Tomorrow's temperature might be 42–44 degrees. Five days out, it's 28–50 degrees. The widening range tells you exactly how much to trust the forecast.
Toggle between 11 metrics: temperature, feels-like, precipitation, wind, gusts, humidity, dewpoint, cloud cover, visibility, AQI, and UV index. Each with hourly charts, day/night shading, and confidence bands. Or switch to Classic Mode for a clean, traditional view.




AI forecast discussions that explain the why
NWS meteorologists write Area Forecast Discussions explaining what they see and why. Claude AI translates these into plain-language summaries with three sections: What Changed, Outlook, and Forecast Confidence.
You learn that an upper ridge is strengthening faster than expected, that Tuesday's record heat is locked in, but that Thursday's cold front timing is still uncertain. The kind of context no other weather app gives you.
Compare 9+ weather models side by side
When ECMWF, GFS, and HRRR agree, you can plan with confidence. When they diverge, you know to have a backup plan. Compare temperature, wind, cloud cover, precipitation, and wind direction across NWS, ECMWF IFS, GFS, HRRR, ICON, GEM, JMA, and Meteo-France. A wind compass shows each model's predicted direction simultaneously.




Radar and forecast precipitation maps
Animated NEXRAD/MRMS radar with 2-hour history and 30-minute forecast shows weather moving across the map in real time. A 24-hour precipitation forecast map shows where rain, snow, and mixed precipitation are headed next.
A custom EC2 pipeline processes NOAA MRMS radar tiles every 5 minutes, reprojects them, applies a color ramp, and serves them via Supabase CDN. Minute-by-minute precipitation nowcasting with intensity levels completes the picture.
Date trackers and seasonal outlook
Pick a future date and watch the forecast evolve day by day. AI-narrated changes explain how predictions are shifting and why. Uncertainty bars narrow as the date approaches, showing you exactly when confidence locks in.
A 7-week seasonal outlook shows ensemble temperature and precipitation forecasts compared against 30-year climate normals. See whether the coming weeks trend warmer or cooler than average, with probability percentages.



Beyond the forecast
An Explore tab surfaces data most weather apps ignore: moon phases with a sky chart showing planet positions tonight, river discharge levels, ocean swells and tides, solar noon timing, and celestial events.
Air quality gets its own dedicated view with hourly AQI charts and a 7-day forecast showing health categories. All sourced from the EPA AirNow network and USNO astronomical data.
Accessibility and iPad support
LucidSky supports Dynamic Type throughout, scaling all text with the user's accessibility settings. Full iPad layouts use the wider screen for denser data display rather than just stretching the phone UI. Light and dark modes adapt to system preferences.


Architecture
How it's built
A monorepo with a thin mobile client and a server that does the heavy lifting.
Thin client that renders pre-processed weather data. NativeWind for styling, RevenueCat for subscriptions, Supabase for auth with custom token caching to avoid GoTrue lock contention.
20+ API routes fetch from NWS, Open-Meteo, EPA AirNow, Apple WeatherKit, and USNO. Claude Haiku generates forecast summaries, activity forecasts, and date tracker narratives. All cached with appropriate TTLs.
A cron job on EC2 processes NOAA MRMS GRIB2 data every 5 minutes: reproject, color ramp, tile, and upload to Supabase Storage for CDN delivery.
All types, uncertainty calculations, metric configs, and business logic live in a shared package. Zero duplication between web and mobile.
7 data sources, zero ads
What this project demonstrates
LucidSky is a production iOS app live on the App Store. Building it required the same skill set as a full product team.
- ✓Product strategy— identifying forecast uncertainty as an underserved design problem, defining free vs. Pro tiers, pricing at $0.49/month
- ✓Full-stack engineering— React Native mobile client, Next.js backend with 20+ API routes, EC2 radar pipeline, Supabase database, monorepo with shared TypeScript
- ✓AI product design— Claude-powered forecast discussions, activity-specific forecasts for 9 sports, date tracker narratives that explain how predictions are shifting
- ✓Data integration— 7 external data sources (NWS, Open-Meteo, EPA, Apple WeatherKit, USNO, NOAA MRMS, Claude) unified into a single coherent experience
- ✓Operations— App Store review process, RevenueCat subscription management, automated radar pipeline, daily digest emails, crash monitoring with Sentry
Want to see more?
Get in touch with me to see my in-depth case studies.