Inspiration

On the beaches around Port Aransas, sea turtle nests are found the hard way: search teams walk miles of sand at dawn, hoping to stumble on a fresh crawl before tides, traffic, or predators erase it. Whether a nest gets protected comes down largely to chance. We asked: what if the beach could tell the patrol where to look?

What it does

HatchWatch watches the beach with pairs of cameras and flags turtle digging activity: it never claims to confirm a nest. Each alert reads exactly "Digging activity detected; nesting unresolved." and drops a pin on a live map so a volunteer can walk straight to it, log what they find, and mark the site protected.

  • A live dashboard (map, alerts, nest log, analytics, patrol roles) shows every site and its status.
  • Any phone can become a camera: open a page, tap Start streaming, and an admin assigns it to a spot on the map.
  • A side-by-side motion view shows a live feed next to what is moving in it.

How we built it

We had no permit to film nesting turtles, so we built the beach first: a 3D simulator (TypeScript and Three.js) with sand made of individual grains, where turtles crawl up, dig, and leave while two cameras record from opposite ends.

A Python and OpenCV pipeline watches those videos blind. It only sees the footage, never where the turtles really are, and turns motion into pins on a map of the beach. Pins from both cameras are combined, so a site seen by both is more trustworthy.

The dashboard is built with Next.js and Postgres in Docker. Phones stream live video straight to the dashboard over Wi-Fi with WebRTC, and the motion view highlights movement right in the browser.

Challenges we ran into

  • Darkness. Turtles nest at night, and our very-dark mode (visible-light noise, not infrared) currently places no pins. Near-infrared is the next step.
  • Parallax. A turtle's body sits above the sand, so projecting it onto the ground shifts its apparent position. Two cameras facing each other help, but don't remove it.
  • Phones as cameras. Browsers only open the camera on HTTPS pages, so we added a local HTTPS proxy. We also had to handle WebRTC connection messages that arrive out of order.
  • Team integration. Partway through, the dashboard was rebuilt from scratch, and features had to move into the new app.

Accomplishments that we're proud of

  • In daylight, the two-camera pins found nearly every simulated dig site with very few false pins. We had set a perfect score as our target in advance and fell just short, and we report it that way instead of moving t
  • A detector that never sees the simulator's answers, so its results mean something.
  • An end-to-end system: from simulated sand to a pin on a live.
  • Turning any phone into a live beach camera with nothing to install.

What we learned

Measuring honestly matters more than a good headline number: a target you set in advance and miss teaches you more than one you quietly adjust. We also learned how much careful work it takes to separate what a syst*, and that a simple tool (a pin that says "look here") canchange how a search team spends its morning.

What's next for HatchWatch

Near-infrared cameras for real night conditions, field trials with local nest patrols, and solar-powered pole housings (the printable design is already in the repo).

To try it out

visit our HatchWatch demo link: username - [email protected] pwd - o7qgO4yrULYnhZyF

Share this project:

Updates

Submission history