WatchDog
Y CombinatorBuilt at YC · GStack × GBrain Hackathon

San Francisco · Real-Time Crime Center

One ranked queue.
Every signal correlated.
Every query auditable.

Live SFPD dispatch, Fire/EMS, 311, and 511 traffic in one operator view, with memory of every prior incident. All data on this site is real, pulled live from SF Open Data.

0
Cameras online
0
Signals fused / 7d
0
Queries audited
Dispatcher queue · livesignals · 0/3
--:--:--PDawaiting
--:--:--FIREawaiting
--:--:--311awaiting
⟶ correlator output · awaiting fusion
correlator · 200m · 60s · standby

Why this exists

62%of violent crimes in major urban areas go completely unreported to law enforcement.

Source · Bureau of Justice Statistics

How it works

three steps · 200 m / 60 s window

Three feeds → one queue → one decision.

01
Correlate signals across silos

Fusion

SFPD dispatch, Fire/EMS, and 311 signals get matched by neighborhood + minute-window into one ranked queue.

  • 3 detectors: cluster · escalation · hot talkgroup
  • Severity from SFPD priority (A/B/C/E)
  • Six SF data sources → one operator queue
01 · SIGNALS02 · CORRELATOR03 · INCIDENT22:50:01PDSFPD CAD245 ADW · priority A22:50:08FIRESF Fire/EMSmedical aid · 1B22:50:18311SF 311loud noise · same blockCORRELATEneighborhood · 5–10 mincluster · escalation · TGINCIDENT · #1242PossibleassaultMission & 16thMED3 signals
02
Carry context to the next signal

Memory

Every reviewed incident becomes a memory chip on that corner. The next signal there arrives with the history attached.

  • Per-location store of outcomes + reasons
  • Recalls patterns: 'same shape 4× last month'
  • Fewer false dispatches over time
01 · REVIEW02 · GBRAIN03 · RECALLINCIDENT · #1241dispatcherheldreasonbar crowdoutcomeno patrol sentreviewerOff. Reyes22:50 · 2026-05-15writeGBRAIN · mission/16th−3 d4× dismissed · bar crowd−7 d11 PM cluster · Valencia−12 dfalse pose 0.71 · CAM 14B−21 dconfirmed · charged−34 d311 noise · same cornerrecallNEXT SIGNALCAM 14BMission & 16th+ 5 prior matchesscore↓ false-pospatternbar closing→ soft-rank
03
Approve, reassign, or kill

Decision

One queue for predicted + live calls. Each card auto-assigns an officer. 30 seconds to act, or it dispatches.

  • Predicted + live in one queue
  • 30s to act, or it auto-dispatches
  • Every decision audited
PREDPA245 ADW · Mission corridor

GBrain: A + B in same neighborhood, 4 calls in 7m · conf 0.78

Off. Reyes 4B21 · Co. BAuto in 30s
LIVEPB594 Vandalism · Eddy & Leavenworth

SFPD Co. D (Tenderloin) · TG 816 · call #261342053

Off. Patel 4D05 · Co. DAuto in 20s

Click any button to preview · click the status badge to reset

Principles

Fusion

01

Camera detections, 911 transcripts, and citizen reports join in spatial-temporal windows. Dispatchers see one ranked incident instead of four siloed alerts.

Memory

02

Every reviewed incident, dismissal reason, and neighborhood baseline is written to GBrain. The next similar signal arrives with prior context already attached.

Consent

03

Camera owners control geofence, time windows, incident types, and warrant requirements as policy-as-code. Every query — allowed or denied — is in their audit log.

What we are not

  • Not predictive policing. We surface signals and prior context about places and patterns. We do not score people.
  • Not facial recognition. California AB 1215. Not in v1, not on the roadmap.
  • Not a black box. Camera owners see every access event against their feed, with full provenance.

For dispatchers, by way of the homeowner whose camera is being queried.

Open dispatcher →