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
Log in or sign up for Devpost to join the conversation.