On-device inference ยท WebGL + WASM ยท No uploads

Computer vision that runs entirely in your browser

Benzo Vision turns your webcam into a real-time perception engine โ€” object detection, pose estimation, hand tracking, gesture recognition and face landmarks. Every frame is processed locally. Nothing ever leaves your device.

  • 0FPS on GPU
  • 0Network latency
  • 0Vision tasks
  • 0Offline capable
benzo-vision ยท live preview
DEMO
DelegateWebGL
Latency12.4 ms
BackendWASM SIMD
PrivacyLocal
Capabilities

Six vision tasks, one runtime

Each task shares the same capture pipeline, GPU delegate and overlay renderer. Switch models without reloading the page.

Object Detection

EfficientDet-Lite0/2 with per-class confidence scores, NMS and bounding-box tracking across frames.

  • 80 COCO classes
  • Custom .tflite upload
  • Class filters

Pose Estimation

33 3D landmarks with visibility scores. Compute joint angles, rep counts and form feedback in real time.

  • Skeleton overlay
  • Angle telemetry
  • Squat / rep counter

Hand Tracking

21 landmarks per hand, up to two hands, with left/right handedness. Drives the touchless cursor.

  • Pinch-to-click
  • Swipe navigation
  • Gesture labels

Face Landmarks

478 points including irises, plus 52 ARKit-style blendshapes for expression-driven effects.

  • Iris tracking
  • Blendshape meters
  • AR filter hooks

Bring Your Own Model

Drop in a .tflite or point at a hosted model URL. It's hashed, cached in IndexedDB and reused offline.

  • Drag & drop
  • IndexedDB cache
  • Version pinning

Baked-in Export

Record the annotated canvas to WebM or grab PNG snapshots โ€” overlays are rendered into the pixels.

  • VP9 / H.264
  • PNG snapshot
  • Frame-accurate
Architecture

From photons to polygons in under 20 ms

The capture loop never blocks the UI thread. Inference runs in a module worker; overlays are drawn on the main thread against a transferred result object.

  1. 01

    Capture

    getUserMedia / getDisplayMedia / file input feeds a hidden <video>.

  2. 02

    Transfer

    createImageBitmap() snapshots the frame and hands it to the worker as a transferable.

  3. 03

    Infer

    MediaPipe Tasks runs on the GPU delegate (WebGL / WebGPU) with WASM SIMD fallback.

  4. 04

    Render

    Landmarks and boxes are projected and stroked onto the overlay canvas at device resolution.

  5. 05

    Act

    Gesture events become synthetic clicks and swipes for touchless UI control.

  6. 06

    Persist

    Model blobs land in IndexedDB so the second load is instant and fully offline.

Model zoo

Pick your accuracy / latency trade-off

All models are cached after first download. Sizes shown are quantized weights.

ModelTaskSizeLatency*License
EfficientDet-Lite0Object detection4.4 MB9 msApache-2.0
EfficientDet-Lite2Object detection7.2 MB22 msApache-2.0
Pose Landmarker LitePose5.8 MB11 msApache-2.0
Pose Landmarker FullPose12.1 MB26 msApache-2.0
Hand LandmarkerHands7.8 MB13 msApache-2.0
Face LandmarkerFace + blendshapes3.8 MB8 msApache-2.0
Your modelAnyโ€”โ€”Yours

*Measured on an M1 MacBook Air, 640ร—480 input, GPU delegate, median of 300 frames.

Your camera. Your compute. Your data.

No sign-up, no server, no telemetry. Open the studio and start detecting in seconds.