Live detection
One DETR inference per sampled frame. Bounding boxes render directly over the live feed.
A static map of how this demo pushes frames to Cloudflare, runs DETR and vision models on Workers AI, and renders results back over the live video.
Reference architecture
Workers Warm style · generated from an architecture brief
Open demo guardrails
This is a public, unauthenticated demo, so it ships cost guardrails that keep Workers
AI spend bounded. None of these limits exist when you deploy the project
yourself — set PUBLIC_DEMO_MODE=false (and remove the caps) for a
production deployment.
The PPE vision model is the most expensive path, so in demo mode it runs on demand (the "Analyze frame" button) rather than on a continuous loop. Per-session limits are enforced with the Workers Rate Limiting binding; the global daily caps are enforced by a Durable Object so spend is bounded across all visitors.
Route by route
One DETR inference per sampled frame. Bounding boxes render directly over the live feed.
Person boxes are intersected with a normalized zone. Entry and exit events stay in memory.
Fast boxes stay responsive while a selectable vision model checks headwear on demand (or on a loop when self-hosted).
The same platform primitives support live detection, virtual perimeter monitoring, and PPE compliance with only route-level behavior changes.
DETR and the selectable vision models run behind an AI binding while the browser keeps capture and overlay state lightweight.
Zones, event logs, model choices, and PPE assessment state are tab-local, so the demo avoids extra persistence services.
The public demo runs without authentication. Instead of gating access, it bounds Workers AI spend with per-session rate limits and a global daily budget cap, and records usage in Analytics Engine. Cloudflare Access remains an optional way to run a private deployment.