Verified crisis coordination inside Slack — every need tracked, every promise proven.
Runs where volunteers already are. AI-optional by design.
The same family gets rescued twice while another is missed. Volunteers say “I'll go” and silently drop.
Every failure is a state-tracking failure.
State is the log. Every transition is an appended event — nothing is edited, nothing is deleted. The LLM interprets language; deterministic code controls state; humans confirm every consequential step.
“It caught that the food delivery never actually happened — the volunteer got stuck — and reassigned it before the coordinator even noticed.”
Drift detection watches the SLA clock, not the status flag. When a promise stalls, Relay nudges, waits, and reassigns — appending every step to the ledger.
Each claim is enforced by a mechanism, not a marketing page.
A database trigger rejects any UPDATE. The audit trail is the product.
BEFORE UPDATE → RAISE EXCEPTIONThe engine rejects agent or system actors on consequential transitions.
assertActor(human) · reject(agent)Reports render {{stat:*}} tokens; a validator rejects any figure not backed by the ledger. A fabricated number falls back to a deterministic template.
{{stat:needs_verified}}Beneficiary contact lives only in an AES-256-GCM vault. The LLM never sees it.
vault.encrypt(aes-256-gcm)Unplug the model and the whole loop keeps working on deterministic fallbacks.
if (!apiKey) useDeterministic()On a 40-message labeled set.
reproducible · npm run eval
Labeled simulated on purpose — the honesty is the point.
Web crisis-mapping that lives outside the chat. No promise-tracking.
Where coordination actually happens — with zero structure and no accountability.
Built for internal IT. Closes on status flags, not verified fulfillment.
Coordination inside the conversation + promises with proof + donor-grade accountability.
Powers the Ask-Relay assistant — natural-language questions answered from the ledger.
Permission-aware field-context grounding — answers respect who is allowed to see what.
Relay is exposed as an MCP server — read tools plus an opt-in pledge_support write tool. An external agent can file an accountable pledge; a human still confirms it.
Every AI feature degrades to a deterministic fallback with no key. The loop never depends on the model.
Architecture, the full build spec, the deploy runbook, and the engineering invariants — all in the open, all reproducible.
The six-verb loop over the append-only ledger, and the full stack — with every qualifying technology labeled.
view diagram →60-second local setup, the full command list, and how each Slack platform capability is used.
open on GitHub →The full product spec — state machine, event taxonomy, and the compliance rules the engine enforces.
open on GitHub →Fly.io production deploy — deep health checks, migrate-and-seed on boot, and secret management.
open on GitHub →Append-only ledger, human gates on every consequential step, PII only in the vault — the rules in code.
open on GitHub →The full writeup, the demo video, and step-by-step instructions to test it in Slack yourself.
view on Devpost →All demo data is fictional. Relay assists volunteer coordinators; it is not an emergency service.