Inspiration

Coastal flooding and hazardous shoreline conditions often escalate quickly, and most systems either rely on delayed data or centralized infrastructure. We wanted to build something that reacts immediately at the edge while still using broader environmental data to make better predictions. The goal was to combine real-time sensing with meaningful forecasting in a way that could realistically be deployed.


What it does

ShoreCast is a real-time coastal monitoring and prediction system. It uses on-device classification to detect local risk conditions and sends that data to a cloud backend, where it’s combined with live buoy data and historical ocean data. The system then produces a unified risk level and generates a short, actionable summary for users. A live dashboard visualizes sensor data, environmental conditions, and alerts as they update.


How we built it

We built ShoreCast across three layers. On the edge, an Arduino Uno Q runs a KNN classifier using live sensor inputs like water depth, vibration, humidity, and distance to the water surface. It sends structured events to a FastAPI backend hosted on AWS EC2. The backend stores and processes incoming data, applies a false-positive correction layer, and integrates external data from NOAA buoys and Scripps datasets to compute environmental risk. For summaries, we call Gemini 2.5 Flash from the server with caching to avoid unnecessary usage. The frontend dashboard is hosted on GitHub Pages and polls the backend to display live charts, metrics, and alerts.


Challenges we ran into

One of the main issues was false positives from the accelerometer, since gravity registers around 1g and overlapped with critical training data. We had to design a backend confirmation system that uses multiple sensor signals before escalating alerts. We also ran into restrictions with Google Cloud API keys and had to restructure how Gemini was called, moving it fully server-side. Networking between the Arduino, EC2, and frontend required careful debugging, especially around request formatting and timing.


Accomplishments that we're proud of

We built a full end-to-end system that works in real time, from edge hardware to cloud processing to a live dashboard. The system doesn’t just display data—it makes decisions locally and refines them in the cloud. The false-positive correction significantly improved reliability, and the integration of multiple data sources makes the output more meaningful than any single signal alone. We also secured and structured the system properly by keeping API keys off the client side.


What we learned

We learned how to design systems that balance edge computation with cloud processing. Handling noisy sensor data in a real-world context required more than just a model—it needed validation logic and redundancy. We also got experience working across hardware, backend infrastructure, and frontend visualization, and saw how small integration issues can impact the entire pipeline. Managing API usage and security was another key takeaway.


What's next for ShoreCast

Next steps include improving the prediction layer by incorporating time-series forecasting instead of just classification, expanding sensor coverage, and refining the environmental risk model with more data sources. We also want to make the system more deployable, with better hardware packaging and scalability on the backend. Longer term, ShoreCast could support location-specific alerts and integrate with emergency response systems.

Built With

Share this project:

Updates