← Back to Home

Personal Build

DecisionOS — Agentic Decision Orchestrator

Turning an analytics insight into an approved, voice-controlled multi-agent workflow

Agent Pipeline

8-Agent

Voice Interface

11 Languages

Live Demo View Code

The Challenge

Customer-support managers can see the pattern in tickets and analytics, but closing it stays manual — coordinating agents, order systems, carriers, suppliers, policies, and customer messages by hand, one ticket at a time. That gap causes SLA breaches, repeated handoffs, and inconsistent resolutions.

  • 91% of customer service leaders are under executive pressure to ship AI in 2026 (Gartner)
  • A 30–45% productivity lift is available from generative AI in customer care — in one 5,000-agent deployment, a 14% increase in issue resolution per hour and a 9% reduction in handling time (McKinsey)
  • 95% of customers want to know why an AI made a decision; only 37% of CX leaders can currently explain it (Zendesk CX Trends 2026)
  • 82% of CX leaders now expect analytics to surface insight in seconds, not weeks (Zendesk CX Trends 2026)

Pressure to adopt AI is running ahead of the ability to trust and operationalize it — an explainability gap and a speed-to-triage gap, not a shortage of AI capability, are the real problem.

A sharper version of this shows up the moment a manager is away from a screen — walking the floor, on a call, mid-handoff. Voice is the natural interface there, but voice access to a system that can approve refunds or deploy a workflow is an authority problem, not a convenience feature: most voice assistants either refuse anything consequential, or execute anything asked.

My Role

Sole product owner and builder — PRD, architecture, and the working build, end to end.

  • Designed the 8-agent architecture and the insight → recommendation → decision → execution → review → outcome loop
  • Defined the human-in-the-loop policy: a high-value transaction threshold for mandatory approval, escalation rules, evidence-backed messaging
  • Designed the Watchtower ranked feed and the Briefing voice layer, including the core constraint — voice authority bounded by the same severity taxonomy as every other action in the product
  • Built and deployed the working MVP end-to-end using strict test-driven development

The Solution

DecisionOS turns a delayed-order analytics insight into an approved, executable workflow:

  • Analytics detects a rise in delayed-order tickets and surfaces likely causes
  • The system recommends an automatable workflow
  • The manager reviews evidence, expected impact, risks, and approval requirements
  • An orchestrator proposes a plan across specialised agents — Order Lookup, Carrier Inquiry, Supplier Inquiry, Policy, Customer Communication, and more
  • The manager configures triggers and exceptions, tests against stored tickets, and deploys
  • The system executes, monitors each step, and pauses for human judgment on ambiguous, costly, or sensitive cases

Orchestration is a deterministic state machine with persisted deadlines; an LLM is an optional synthesis layer with a mandatory deterministic fallback, so the product stays reliable even with AI disabled.

A voice-first layer — Watchtower and Briefing — sits on top, so a manager can talk to the orchestrator instead of clicking through it:

  • Watchtower ranks every open signal with a transparent formula (severity × 0.4 + impact × 0.3 + strategic weight × 0.3)
  • Briefing runs on Sarvam's Saaras v3 (speech-to-text) and Bulbul v3 (text-to-speech), across 11 Indian languages including Hinglish
  • Mid-conversation interrupts cancel in-flight audio instead of talking over the user
  • Session memory resolves 'tell me more about that one' or 'approve it' against the last insight discussed
  • Voice authority is bounded by the same severity taxonomy as the rest of the product: a spoken 'approve' above the high-value transaction threshold, or against a hard governance breach, is refused and redirected to the UI; a masked, low-severity item can be confirmed by voice and genuinely changes state

The refusal is a designed product moment, not an apology — proof the voice layer has real teeth instead of being a narration-only assistant bolted onto a dashboard.

Product Tour

Analytics surfaces the pattern and prepares the evidence before any decision is proposed.
Analytics surfaces the pattern and prepares the evidence before any decision is proposed.
One tap turns a cluttered signal grid into a ranked feed; Briefing lets a manager talk to it directly.
One tap turns a cluttered signal grid into a ranked feed; Briefing lets a manager talk to it directly.
Briefing narrates the top-ranked signals through Sarvam Bulbul v3 — synced to actual audio playback, not animated.
Briefing narrates the top-ranked signals through Sarvam Bulbul v3 — synced to actual audio playback, not animated.
Every proposed action carries its evidence and policy citation before a manager approves it — the explainability gap made into a UI element.
Every proposed action carries its evidence and policy citation before a manager approves it — the explainability gap made into a UI element.
Same phrasing that works for a low-severity item is refused for a hard breach — the guardrail is functional, not scripted.
Same phrasing that works for a low-severity item is refused for a hard breach — the guardrail is functional, not scripted.
A voice command doesn't just narrate — it writes to the same ticket record the UI uses.
A voice command doesn't just narrate — it writes to the same ticket record the UI uses.
The full 8-agent plan, editable in plain language — no code required to change a step's timeout, retry, or approval policy.
The full 8-agent plan, editable in plain language — no code required to change a step's timeout, retry, or approval policy.
Before deploying, the manager sees exactly which real tickets go autonomous and which stop for review — and why.
Before deploying, the manager sees exactly which real tickets go autonomous and which stop for review — and why.
Every run is inspectable — root cause, current step, and status, not a black box.
Every run is inspectable — root cause, current step, and status, not a black box.
One Cloudflare Worker serves the app and the API; two paired devices sync through the same edge database — no custom sync channel.
One Cloudflare Worker serves the app and the API; two paired devices sync through the same edge database — no custom sync channel.

The Outcome

The result closes each named gap with a specific mechanic, not a promise:

  • Explainability gap → every proposed action in the Decision Review drawer carries its evidence and policy citation before approval; every voice refusal states the exact rule it hit ('that's above our high-value transaction threshold'), not a generic decline
  • Speed-to-triage gap → Watchtower's ranked feed and the Briefing voice layer replace a flat, unranked list with a single ranked read a manager can act on in seconds, by click or by voice
  • Trust transfer → the same severity rules govern both paths, so trust earned on one surface carries to the other instead of resetting

What's proven end to end in the live deployment, not merely diagrammed: a manager can take a real ticket from an analytics insight through an approved, executed, customer-confirmed resolution — by click or by voice — refresh the browser, and find the exact same state. That's a working, inspectable answer to the adoption-execution gap the research points to — the difference between having AI and trusting it enough to let it act, made concrete in a single live product rather than left as a roadmap slide.

Key Learnings

  • Anything requiring calculation or policy enforcement belongs in deterministic logic; the LLM is a synthesis layer over verified facts, never the decision-maker. This separation is what makes an agentic system trustworthy.
  • Human review is a designed state, not a failure mode — presenting it as intentional risk control (not an automation gap) is what earns a manager's trust in the system.
  • Voice authority should inherit the product's existing risk taxonomy instead of inventing a parallel one. Reusing the same severity and threshold rules the UI already enforces made the refusal behaviour trustworthy and cheap to build, instead of a bespoke 'voice policy' that could drift from the rest of the product.
  • A refusal, delivered with the specific reason ('that's above our high-value transaction threshold'), builds more trust in a voice agent than a successful action does — it's the one moment a manager can verify the system actually knows its own limits.
  • Persisted state and idempotent step retries are the hard part of agentic orchestration; the individual agents are the easy part. Budget design time for the seams, not the agents.

Technologies & Methods

  • React
  • TypeScript
  • Hono
  • Cloudflare Workers
  • D1
  • Cloudflare Workers AI
  • Sarvam Saaras v3 (STT)
  • Sarvam Bulbul v3 (TTS)
  • OpenAI (optional)
  • Vitest
  • Playwright