QVAC
Intermediate

Vision + reasoning

30 min · Desktop

A security camera that sees and reasons, fully on-device

Detect people, vehicles, and animals, reason about risk with a vision-language model, and never send a frame off the machine.

quick-start.sh
git clone https://github.com/tetherto/qvac-examples
cd qvac-examples/qvac-smart-camera
npm install
npm start

QVAC Smart Camera is an illustrative example that runs object detection and scene reasoning entirely on-device, instead of streaming footage to a company's servers. YOLOv10-M draws color-coded boxes around people, vehicles, animals, and bags in real time; a Qwen3-VL 2B vision-language model then reasons about the scene to assess risk, combined with deterministic rules like brightness analysis for nighttime detection. Flagged events get an on-screen alert, a border flash, an alarm sound, and a logged entry with timestamp, thumbnail, and description.

Prerequisites

  • Node.js 20 or later

  • 8 GB RAM minimum, 16 GB recommended

  • ~1.6 GB disk for cached models (YOLOv10-M + Qwen3-VL 2B)

  • GPU optional - supported on Apple Silicon and Windows

  • A webcam or camera feed to point the demo at

Run the diagnostic tool to confirm your hardware can run both the detection and reasoning models.

doctor.sh
npx -y @qvac/cli doctor

Clone qvac-examples and install the smart-camera demo.

setup.sh
git clone https://github.com/tetherto/qvac-examples
cd qvac-examples/qvac-smart-camera
npm install

Final result

  • Live feed processed locally, no frames leaving the machine

  • People, vehicles, animals, and bags detected and boxed in real time

  • Scene risk assessed by a local vision-language model plus deterministic rules

  • Flagged events logged with timestamp, thumbnail, and description

  • Alerts (on-screen, border flash, alarm) triggered without any cloud round-trip

This is an illustrative example, not a QVAC product and not a real security or surveillance system - you're responsible for how you use it, including complying with applicable privacy, recording, and surveillance laws. Fork it from github.com/tetherto/qvac-examples and swap in your own detection classes or risk rules.

Build this

Build this with the QVAC SDK

Everything here runs on-device. Grab the SDK and ship your own version.

npm install @qvac/sdk