← Case Studies
CoastCast app icon

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
Role
Co-developer
Coverage
54 Michigan beaches
ML
On-device CoreML prediction
Testing
120+ parameterized test cases

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. UI/UX design was led by Tamia Brezzell alongside designer Alexis Cardwell, I co-developed the app with Jaiden Henley, and Ada Mbonu was our project manager. 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.

What's Next

CoastCast currently covers Great Lakes beaches only - which makes it a summer app by nature. The roadmap tackles that from two directions: expanding to new states so the app stays useful across more seasons of the year, and adding inland lakes so people can check conditions on the water closest to them, not just the Great Lakes shoreline.

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.

Designer Feedback

"As I further develop my discipline as a UI/UX designer, the shared vision between the developers and the designers is imperative to create an amazing final product. After working with George, I can testify that he understands the importance of proper communication, research, and hard work. He would easily take any feedback I gave him and either implement it or offer me a new perspective on it. Working with him was a smooth process and I would definitely work with him again."