Inspiration

On 26 August 2026, part of a mountain collapsed into a river in Nepal's Langtang valley. When the river burst through, the flood tore down the valley, and within the hour the phone towers were gone. People who survived the surge were cut off, and bad weather kept helicopters away. 1,455 people died in Nepal.

Drones can reach a valley like that in minutes. But mountains block radio. The moment a drone flies behind a ridge, it goes silent. And if the drone coordinating the others fails, the whole search stops and waits.

We wanted a swarm that doesn't.

What it does

Ridgeline is a rescue drone swarm that keeps searching when the signal dies.

  • No leader to lose. Every drone carries its own copy of what the swarm knows: who has been found, which ground is searched, and who is still flying. If the hub drone fails, another one takes over in about 5 seconds, and nothing else changes.
  • Messages hop. A drone that finds someone behind a ridge passes the report to a neighbour that can still see base. If there's no route at all, it flies the report home itself.
  • The swarm heals itself. A small neural network, inspired by Google's self-repairing gecko, runs across the drones. When one drops out, its neighbours rebuild its part of the formation.
  • It's real, not just a simulation. Up to three iPhones join the swarm as actual drones. Switch one to aeroplane mode and it keeps searching on its own. Switch it back, and everything it found spreads through the swarm.

How we built it

  • The swarm logic is plain JavaScript, with no frameworks. Drones merge their memory at every contact, elect a new hub when needed, and search fixed strips, so no drone ever waits for instructions.
  • The live demo runs the swarm in a simulation over generated mountain terrain, where ridges really block line of sight. You can watch the same run in 2D or 3D.
  • Phone mode connects devices directly over WebRTC. A small Node.js helper only introduces them. Positions and findings never pass through a server.
  • The self-repairing network is a Growing Neural Cellular Automaton trained in PyTorch, exported to JSON and run in the browser. Each drone computes its own patch and swaps edge cells with its neighbours.
  • The presentation site uses real photos and footage from the disaster, plus a scroll-driven 3D rescue scene built in Three.js.

Challenges we ran into

  • Keeping the swarm in agreement without a leader. Drones that were cut off kept marking everyone else as failed. We fixed it by not counting time while a drone can hear nobody.
  • Making a network failure real, not simulated, so a judge can cause one with their own phone.
  • Splitting one neural network across many drones and still getting exactly the same result as running it in one place.

Accomplishments that we're proud of

  • Losing the hub costs nothing. You can fail it live and watch the role move to another drone.
  • A find survives losing the drone that made it, as long as it reached one other drone.
  • Real phones work as real drones, with real outages and real reconnection.

What we learned

Most "swarm" systems still hide a single point of failure somewhere. Designing for no signal from the very start changes every decision you make.

We also learned to be honest about the limits. Our flight model is 2D, battery and payload aren't modelled, and messages aren't signed yet.

What's next for Ridgeline

  • Real drone hardware with long-range radio
  • Signed messages, so a fake report can't be injected
  • Lighter messages for low-bandwidth links

The same network could also help in other places where communication fails:

  • Defence: routing data around jammed zones
  • Drone shows: filling gaps when drones drop out
  • Sports broadcasts: replacing relay aircraft on mountain stages
  • City blackouts: carrying calls for help when phone towers go dark

Built With

Share this project:

Updates

Submission history