Technology
Three deliberate constraints
Any team can put a model on a camera and call it a product. What makes Barvis deployable is what it refuses to claim, where it refuses to send data, and what it refuses to depend on.
01
Honest precision
Vision cannot measure free-pour volume to the millilitre — the floor is roughly one peg. So Barvis reports at peg granularity with a confidence band and reconciles over windows, never per-drink-per-millilitre. Over-promising here would be the fastest way to lose a venue’s trust.
02
Edge-first
All real-time inference runs on a single box in the venue. Raw video never leaves the premises. This is simultaneously the economics — cloud GPU per venue is unaffordable at scale — and the privacy posture: DPDP Act 2023, no facial identification, staff being filmed at work.
The first is arithmetic. A cloud GPU dedicated to a single venue costs more per month than the venue will pay for the entire product, and streaming 1080p out of a thousand bars means paying for a thousand uplinks that most venues do not have. Edge-first is not a preference at this scale. It is the only architecture that closes.
The second is that we are pointing a camera at people at work, in a country that has told us in statute how to behave about that. So the answer is structural rather than procedural, because a policy you can switch off is not an answer. Raw frames do not cross the boundary — there is no ingest endpoint for them to cross to. Egress is a JSON event with no imagery and no identifier of any person. And the event schema has no field for who, which means purpose limitation survives a change of management.
03
Source-agnostic reconciliation
The engine that matches pours to tickets is the durable asset. The POS is just one writer among many, and every integration is written against the same interface so no single vendor relationship can hold the product hostage.
The
loop
01
Observe
One camera, mounted above the pour zone, pointed at nothing else. No facial identification, and no re-identification of individuals across the room.
02
Detect
Barvis-X1 identifies the pour event — a bottle tilted past a threshold, a spout over a tracked glass, a gripping hand, held long enough to be a pour and not a feint — and attributes it to a station and a bottle.
03
Reconcile
The event stream is aligned against the POS ledger by time, station and SKU. Matched events cancel; unmatched events become variance. Neither record is privileged.
04
Report
Variance is reported over windows — a shift, a station, a SKU — never drink by drink, because the measurement error on any single pour is large and the error across two hundred pours is not.
Two independent records of the same event. Where they agree, nothing is reported. Where they diverge, the difference is the entire product.
Raw video never leaves the premises. Only counts do.