← Case Studies

CoastCast

A full-platform iOS app delivering real-time beach conditions for 54 Michigan beaches — with on-device ML crowd prediction, Siri Shortcuts, Live Activities, and a Python FastAPI backend.

SwiftUI · CoreML · Python FastAPI · WeatherKit · WidgetKit · App Intents · ActivityKit · 2026 · App Store

The Problem

Michigan has 54 public beaches across five Great Lakes — and no single tool to answer the question every resident asks before heading out: Is it worth going today? Existing weather apps don't show water temperature, wave height, or crowd density. CoastCast solves this with one platform that pulls all of it together.

The Approach

Built as part of the MSU Apple Developer Academy program with a team of five — two developers, two designers, and a project manager — over March–April 2026. The SwiftUI app covers the map, beach scoring engine, CoreML crowd prediction, App Intents, WidgetKit, Live Activities, and notifications. The Python FastAPI backend, deployed on Render, aggregates six data sources concurrently: NOAA buoy data, water quality, NWS weather alerts, TomTom traffic, holiday detection, and a holiday crowd signal.

The crowd prediction model is an XGBoost classifier trained on 40 years of attendance data, converted to CoreML and running fully on-device. It uses cyclical month encoding so the model understands seasonal proximity, and falls back to historical Lake Michigan water temperature averages when live buoy data isn't available. The beach detail screen fires the FastAPI backend and WeatherKit simultaneously using async let, cutting load time roughly in half.

Beyond the core experience, the app ships with: a home screen WidgetKit widget that users can configure per beach, Live Activities and Dynamic Island showing crowd level and water temp while traveling, two App Intents for Siri, three-tier push notifications (daily best beach, score threshold, and NWS severe weather alerts), and a hand-built map clustering algorithm with no third-party dependencies.

Screenshots & App Experience

CoastCast home screen

Home screen — discovery feed with activity filters and personalized suggestions.

CoastCast map view

Map view — custom clustering algorithm, no third-party library.

CoastCast browse list

Browse list — searchable beach directory with lake type and favorites.

CoastCast beach detail

Beach detail — E. coli safety alert, air and water temp, UV, hourly forecast.

CoastCast crowd meter

Crowd Meter — on-device XGBoost CoreML model trained on 40 years of data.

CoastCast 7-day forecast

7-day forecast — full weekly outlook with WeatherKit conditions.

CoastCast favorites

Favorites — saved beaches backed by SwiftData persistence.

The Outcome

CoastCast surfaces live beach intelligence across the app, home screen, Dynamic Island, and Siri — without opening anything. On-device CoreML means crowd predictions work offline, and the three-tier notification system covers daily alerts, score thresholds, and severe weather. Live on the App Store.

App Store

CoastCast on the App Store
apps.apple.com

CoastCast App - App Store

Download CoastCast by Jaiden Henley on the App Store. See screenshots, ratings and reviews, user tips, and more apps like CoastCast.