Rebuilt from prototype-v0.1-build-notes.md (original v0.1 file wasn't retained across sessions).
Loaded with abvp-test-schedule-full.csv — real session titles, lunch/exhibit_hall/conference_exit checkpoints, 4 days.
Badge scans assume a bare numeric QR = Swoogo registrant_id per the Aug 16 working assumptions.
Camera scanning uses the native BarcodeDetector API where available, with an embedded jsQR decoder as a universal fallback (needed for iOS Safari, which does not support BarcodeDetector) — no network dependency at any point.
⚠ Camera will not work on this connection
This page is not loaded over HTTPS (or localhost). Browsers block camera access (getUserMedia)
on insecure origins — this is not a bug in this app, it's a hard browser security requirement, and iOS Safari enforces
it strictly. Manual badge entry below still works regardless. To scan with the camera, this file needs to be served
over HTTPS — on an internal/intranet host that means either a certificate from your organization's internal CA, or a
valid public certificate if the host is reachable that way. A self-signed certificate will also work if every
scanning device explicitly trusts it first (on iOS: install and trust the certificate profile in Settings before
scanning — an untrusted self-signed cert will silently block camera access the same as plain HTTP does).
Self-Test (runs on load)
Running…
Device Simulation
AUTO-ADVANCE — current checkpoint for this room at the simulated time
—
—
Camera Scan
Camera not started.
No scan yet.
Simulate / Manual Badge Entry
No scan yet.
Test Badge Generator
No physical badges yet — render a QR on this screen and point another device's camera at it. Also doubles as the
round-trip self-test below (encode → render → decode → compare).