Hacki
All BUIDLs

About the project

What we built

RescueMesh is a local-first emergency coordination app. A citizen describes what is happening in free text. On-device QVAC turns that into a structured incident. Pear replicates it to brigade and command peers. The original reporter can go offline. The incident stays.

WhatsApp communicates. RescueMesh coordinates.

The problem

After a disaster, coordinators drown in unstructured messages: trapped people, bleeding, blocked roads, duplicate pleas. Chat tools move words. They do not produce a shared operational picture.

How it works

  1. Reporter (Peer A) writes or dictates a report. Example: a bus crash at Plaza San Martin, three people, one trapped, one bleeding.
  2. QVAC runs locally (Analyzing locally…). It extracts priority, location, affected/trapped counts, medical flag, needs, and a short English operational summary. Invalid JSON retries once, then falls back to manual review. Nothing is sent to a cloud AI API.
  3. Responder (Peer B) sees NEW CRITICAL INCIDENT on the dashboard, ordered by priority, without a RescueMesh backend.
  4. Command Center (Peer C) is a third peer with the same replica.
  5. Kill Peer A from the UI. Peer B still has the incident.

What the runtime shows

  • AI LOCAL ✓
  • P2P CONNECTED ✓
  • CENTRAL SERVER NONE

No Firebase, no Postgres in the middle, no OpenAI. Each laptop process has its own store. Incidents sync over Pear (Hyperswarm + Corestore + Hyperbee) when a physical path exists. We do not claim it works with zero connectivity.

Also in the demo

  • Spanish input → English operational summary (raw report kept)
  • Local voice dictation
  • Likely-duplicate hints (suggest, do not silent-merge)

Stack

Next.js, TypeScript, Tailwind, QVAC on-device, Pear P2P. Three peers on one laptop: Citizen :43147, Brigade :43148, Command :43149.