Reviewer guide

Evaluate Kwik 112 in 120 seconds

Ring-time middleware, demonstrated in a browser: the citizen keeps the dial pad; the dispatcher receives a pre-graded call. Built with Codex. Optional refinement uses GLM 4.5 Flash; an OpenAI model path is supported. No live 112 integration.

Independent synthetic-data demonstration — not an official 112, ERSS, government, or C-DAC service.

No login No credentials No setup

~60 seconds

1. Place a 112 call

Opens the voice station. Play a scripted caller (Ramesh — Hinglish accident, John — English market fire, or Sharma ji — Hinglish cardiac arrest) or start a live demo call in Hindi, Hinglish, or English. Watch the transcript, emotion telemetry, and instant rules grade appear as the caller speaks.

Place a test call

~2 minutes

2. Dispatch like an operator

Open the console. Pick an incident, read the safety audit ('Why this priority?'), run the three human checkpoints (INTAKE → DISPATCH → RESOLUTION), try to override without a written note — it will refuse. Multi-caller fusion flags duplicate calls for human approval.

Open the console

~3 minutes

3. Reproduce the benchmark

Run one command against the versioned corpus. The results page renders the committed measurements with explanatory copy; latency varies by machine and run.

See the held-out results

Problem

The problem is a busy intake queue, not a missing citizen app. These sources describe different places, periods, and measures; vehicle response time is not telephone ring time.

  • Telangana reporting puts genuine emergencies at about 0.28% of roughly 16 lakh daily calls across the combined 112/Dial 100 system. 25 June 2026 report, citing police data.
  • The MHA NERS guidelines target an average answer speed below 15 seconds. Separately, a Telangana DGP statement reports a national emergency response average around 18 minutes. These are different stages of response. MHA guidelines, 2015, page 20; DGP report, 6 August 2026.
  • Delhi reported roughly 10,000 blank calls out of 15,672 daily calls shortly after the 112 launch. The report also describes IVR filtering already in place. 1 October 2019 report.
  • SaveLIFE Foundation v. Union of India, W.P.(C) 726/2024, order dated 26 May 2026 (2026 INSC 567), directs integration of 100, 101, 102, 108, 1033 and 1091 into 112 within three months. As of this review, that stated window has closed; this is a calendar inference, not proof of nationwide implementation. Official order, 26 May 2026.

Working build

No login, no credentials, no setup: place a call above, watch the transcript, emotion telemetry, and deterministic grade appear live, then run the three human checkpoints. Every number on /benchmark regenerates from the repository with one command.

Usability

The proposed citizen interface is the dial pad: a keypad phone on a voice-capable 2G network, no app, URL, reading, or data plan. Hindi, Hinglish, and English today. This browser demonstration emulates that call; it is not connected to the telephone network. The dispatcher receives a pre-graded card.

Product thinking

The AI may escalate severity but can never lower the deterministic floor — enforced in code with regression and prompt-injection tests, not a prompt promise. Emotion can sharpen priority inside a severity band but never cross a band boundary.

A calm caller reporting no pulse must still grade critical. Possible prank prosody is an annotation for human review, never proof of a prank, a downgrade, or automatic removal from the queue. The intended deployment sits before C-DAC NG112 call handling; this build demonstrates that boundary without claiming an integration.

End-to-end thinking

Voice intake → instant rules grade → optional escalate-only refinement → three human checkpoints with written-note overrides → unit reservation, road-following routes, and a session-local audit trail. Every value carries provenance: local rules / model / fallback; measured / simulated / absent.

Honesty

100% critical recall (9/9; Wilson 95% lower bound 0.70), 60% type accuracy (18/30), 60% severity accuracy (18/30), 23.3% under-triage (7/30), and 16.7% over-triage (5/30). This is a development regression suite, not clinical or field evidence. Reproduce via npm run evaluate:local; CI repeats the critical-recall gate. The model cannot dispatch, and the small corpus cannot establish real-world safety.

Prior art and the accountable grading boundary

VANKI proved translation belongs on the 112 line. We start where that ends: after the words are understood, something still has to decide how dangerous the call is — and must never quietly decide it is less dangerous than it looks.

Bengaluru's VANKI supports multilingual emergency communication; Telangana's TG-ERSS also reports automated handling and filtering. We credit those deployed systems. The cited reports do not publish an executable severity floor or reproducible grading corpus; that is the evidence Kwik makes inspectable, not a claim that nobody else has safety controls. VANKI, 30 April 2026; TG-ERSS, 6 August 2026.

Why keep a model away from dispatch authority?

A Danish randomized trial found no significant improvement in dispatcher cardiac-arrest recognition in its primary comparison. That is why Kwik grades with rules first and requires human dispatch decisions, rather than treating AI assistance as proven clinical benefit. Blomberg et al., 2021 randomized trial. The human-oversight principles of EU AI Act Article 14 inform the design; this demonstration claims no certification or regulatory compliance.

What is real, simulated, or synthetic — in one table

Every capability of this build, labelled. The same provenance labels appear inside the product interface.

CapabilityStatusDetail
Live Hume EVI voice sessionsReal, optionalBrowser audio streams to Hume EVI with the configured call-taker prompt; per-utterance model estimates of prosody are labelled MEASURED
Scripted callersSimulatedDemo personas with synthetic emotion frames, labelled Scripted call in the UI — never dressed up as measurements
Triage engineRealDeterministic multilingual rules run locally in milliseconds; committed test suite covers the no-downgrade floor and injection cases
Model refinementReal, optionalLLM enrichment that may only escalate severity; falls back silently to the local grade on any failure
Incidents, units, ETAsSyntheticA simulated Delhi fleet; ETAs use a simulated road-adjusted travel model and say so in the interface
Audit trailSession-local demoBrowser-local decisions persist across reloads and browser sessions until storage is cleared; no shared production record store

Built with Codex — the provider stack, disclosed

Codex and coding agents implemented and reviewed the core of this build: the deterministic triage engine and its no-downgrade floor (with regression and prompt-injection tests), the evaluation harness behind every number on /benchmark, the live voice pipeline (a production render-loop was diagnosed and fixed via controlled repro in real Chromium), and this judge package. The dated, commit-linked log is CODEX_LOG.md in the repository.

LayerProviderWhy
Build toolingCodex + coding agents (OpenAI)Implementation and adversarial review; the safety floor is code, not a prompt
Voice + prosodyHume EVILive multilingual call-taker with per-utterance emotion measurement
Refinement modelGLM 4.5 Flash (free tier); any OpenAI-compatible provider via OPENAI_API_KEYMeasured latency at zero cost for the public demo; the deterministic grader is provider-independent — refinement may only escalate
RoutingOSRM (OpenStreetMap)Road-following dispatch routes with a straight-line offline fallback

Boundaries

  • Kwik 112 is an independent demonstration. It is not an official 112, ERSS, Government of India, or C-DAC service, and it contacts no emergency infrastructure.
  • Use synthetic scenarios only. A live call sends microphone audio to Hume; optional refinement sends transcript text to the configured model provider, and address lookup may send location text to a geocoder. Do not enter real personal data. The AI never dispatches; human overrides require a written note.
  • The benchmark is a 30-case versioned synthetic corpus with a held-out split — a safety-oriented engineering measurement, not clinical evidence.