Inspiration

Water contamination is often discovered only after people are affected, while official testing can take time. Dogs frequently interact directly with urban waterways by drinking, swimming, wading, or sniffing water. This makes their reported exposure and subsequent symptoms a potentially useful environmental warning signal.

Inspired by the idea of animals acting as environmental sentinels, we created Sentinel Paws to turn everyday dog walks into a community-based water safety monitoring system.

What it does

Sentinel Paws allows dog owners to report:

Where their dog contacted water Type of contact — drinking, swimming, wading, or sniffing Symptoms observed within 24–48 hours Possible alternative causes such as unusual food or recent diet changes

The system uses GPS coordinates and the Haversine formula to group reports within 300 meters.

Each location receives a risk status:

Insufficient Data — fewer than 3 reports Watching — minor symptomatic activity Elevated Risk — multiple symptomatic dogs with a meaningful symptom rate

To reduce false alarms, at least 2 symptomatic dogs are required before an elevated-risk alert can be triggered. Reports with identified alternative causes are excluded from the risk calculation but remain visible for transparency.

For elevated-risk locations, Sentinel Paws can generate an Investigation Report that can be shared with environmental authorities for further physical water testing.

How we built it

We built Sentinel Paws using:

Node.js + Express — backend React — frontend Babel — compiling React directly in the browser Browser Geolocation API — capturing location Haversine formula — calculating distance between reports Rule-based risk model — transparent and explainable risk assessment In-memory storage — storing reports during the prototype

The system is designed so that every risk decision can be traced back to the actual number of reports, symptomatic dogs, and relevant observations.

Challenges we ran into

  1. Avoiding false alarms

Our initial model could mark a location as high risk based on a single sick dog. We changed the logic to require multiple symptomatic dogs before triggering an elevated-risk alert.

  1. Handling confounding factors

Dogs can become sick for reasons unrelated to water. We added fields for owners to report factors such as unusual food or diet changes and excluded these reports from triggering risk alerts.

  1. Location merging

During testing, nearby but different waterways could sometimes be grouped together. We tested with real-world coordinates and added safeguards to display distinct location names when multiple waterways are present within a cluster.

  1. Balancing sensitivity and reliability

We learned that detecting every possible signal is not enough. The system must also prevent weak evidence from becoming a misleading alert.

Accomplishments that we're proud of

We successfully built a working early-warning prototype that combines:

Community-generated reports GPS-based location clustering Haversine distance calculation Symptom analysis Confounding-variable handling Explainable risk assessment Investigation report generation

Most importantly, we designed the system to prioritize trustworthy signals over single-data-point alerts.

What we learned

We learned that the hardest part was not implementing geolocation or distance calculations, but making the signal trustworthy.

A simple symptom counter is easy to build, but designing a system that considers alternative causes, reduces false alarms, explains its decisions, and clearly communicates its limitations requires much more careful thinking.

We also learned that Sentinel Paws should be treated as an early-warning and surveillance tool, not a diagnostic system. A flagged location should lead to proper environmental investigation and physical water testing.

What's next for SENTINEL PAWS 🌧️ Weather integration — correlate reports with rainfall and runoff events. 🐕 Health check-ins — allow owners to report when their dog remains healthy, creating a better baseline. 🗄️ Real database — replace temporary in-memory storage with persistent data storage. 🗺️ Interactive risk map — visualize reported locations and risk levels. 📊 Improved analytics — track changes in symptoms and reports over time. 🏛️ Agency integration — provide a pathway for sending investigation reports to relevant environmental authorities. 🔬 Physical testing integration — eventually compare community reports with actual water-quality test results to evaluate the model.

Built With

Share this project:

Updates

Submission history