DuvoAI — Customer view 8 public repos
← DuvoAI

what the ops team sees

Customer view

Everything on the other pages is engineering. This is what a retailer's operations team actually opens once a deployment is live: a supplier report card, an honest accounting of what the automation saved, and the one screen the team edits directly to change what the system does.

From the record. This is the same discipline that scaled a voice-of-customer review operation from under 100 items a week, done by hand, to over 1,000 a week — via an automation layer with human decision gates, not a hand-off of judgment. The added throughput wasn't just faster: within two weeks of going live, it surfaced $870K in account-takeover fraud that the manual-volume process had been too small to catch. Scale with gates doesn't just process more — it sees more.

Supplier scorecard

Every supplier gets a letter grade — A through F — rolled up from six buyer-side numbers: on-time-in-full rate, fill rate, ASN accuracy, exception rate, deduction validity, and chase responsiveness. Nothing on the card is assumed; every cell traces back to a purchase order, a receipt, an ASN, or a chase thread.

RankSupplierGradeOTIFFillASN accuracy
1SUP-021B75.0%98.4%75.0%
2SUP-023C33.3%93.9%66.7%
3SUP-022D66.7%99.2%33.3%

A sample rollup from the synthetic corpus — three suppliers, ten POs. Grades are computed the same way every time from the same underlying data the approval workflow already touches, so the scorecard can never quietly drift from what the agent actually did.

Honest ROI

The easy number to report is every action the agent touched, priced at the manual time it would have taken. That number is wrong on purpose here: a wrongly flagged exception creates a human touch that would not otherwise exist, and a wrong auto-close creates rework. Both get charged against the benefit rather than counted toward it — a false positive costs touches-saved, it doesn't add to them.

Weekly valueWhat it counts
Naive credit$111,015every agent-touched action, priced at manual time — the vendor-slide number
− false-positive credit, rework, nuisance flags−$30,495the honesty cut: 27.5% of the naive number
Net touches saved$80,520what's actually reportable

Exception aging — the time a flagged item sits before resolution — falls from 5.7 to 2.2 days in the same run, a 61.7% reduction, computed from the same before/after fixtures. All figures are from the fully synthetic before/after model, not a real deployment — the mechanism is the point: the report is built so it cannot inflate itself.

Exception-spec board

The one screen the customer's own team owns. It's a single-file, offline board — no server, nothing to install — with three views: Edit (the decision rules, tolerances, exception paths, fallbacks, and which actions require a human, in plain rows and toggles), Spec (the same rules rendered as a readable policy document), and Validate & export (a live check plus the exported policy file). Whatever the team sets here is what the agent runs under — the export round-trips through the pack's real policy loader, so the board isn't a mockup of the config, it is the config.

Consoles