Case study

ForeshoreCast

Physics-based shelling forecasts for the Gulf Coast, running unattended in production.

Role
Design, engine, and build
Timeframe
2026
  • Lagged Deposition Model
  • LLM narrative generation
  • Cron-scheduled ops
  • Consumer product
  • Southwest Florida beaches forecast4
  • Automated forecast pipeline cadence3/day, DST-aware

The problem

Good shelling on Sanibel and the neighbouring Gulf Coast beaches is not random: shells accumulate on the wrack line after a specific sequence of wave energy, wind direction, and tide, and locals learn to read that sequence by feel. ForeshoreCast encodes the sequence directly, as a physics-based forecast of when and where the shelling will be best, delivered as a plain daily read rather than a chart to interpret.

How it works

The core is a custom Lagged Deposition Model: recent wave energy, weighted toward the last few days since deposition lags the sea state that caused it, combines with onshore wind and swell period into a deposition index, and each beach’s index is then read against its own tide exposure to flag the best combing window and the day’s rare-shell odds. An LLM turns that index into the day’s narrative, writing from each beach’s percentile standing rather than its raw score, so the text never overclaims a middling day.

The ForeshoreCast daily forecast for Sanibel Lighthouse: a five-star rarity rating, best-combing-window and low-tide times, and an hourly opportunity-versus-tide chart.
The daily forecast: today's best beach, its best window, and the tide it hangs on. ForeshoreCast

What this demonstrates

SciML & ML

A physics-based scoring model wrapped in an LLM narrative layer and run as an unattended production service: a cron pipeline across 4 beaches, 3/day, DST-aware, monitored by an external healthcheck and deployed by a plain git push. The point is not the model’s sophistication but that ingestion, scoring, narrative, and upload have kept running on their own since launch.