🔒 Restricted

This page is gated

The Vani OS storyline walkthrough. If you're meant to see this, you already have the passphrase.

VANI OS · A DAY IN THE SYSTEM Act 0 / 13
Vani OS · A Day in the System

Nobody pays us for a phone call. They pay us when Ananya enrolls.

This walks through one real day inside Vani OS — one real lead, real transcript lines, real numbers — from the moment her inquiry lands to the invoice that goes out for her, and only for her, once she's actually admitted.

Scroll to move through it at your own pace — each Act animates as it comes into view — or press Play to sit back and watch it run start to finish.

THE ACTUAL PRODUCT
There's no license fee for the software. Setup and platform keep the lights on — the only line that scales with anything is the outcome fee, and it only ever appears next to an admit that wasn't going to happen anyway. You're not buying a seat count. You're buying enrolled students.
ACT 01

Before the first call — two baselines, locked separately

SGT University (campus programs) and SGT Online (digital-funnel programs) are two different profiles in the same system. Nothing about them is shared — different lead volume, different conversion targets, different fee, different persona.

🔒 locked · this cycle

SGT University — Tara

leads_this_cycle
12,000
baseline_admits
600
expected_conversion
18%
outcome_fee
₹15,000/admit
🔒 locked · this cycle

SGT Online — Lucy

leads_this_cycle
30,000
baseline_admits
600
expected_conversion
10%
outcome_fee
₹10,000/admit
Same engine underneath both cards — different numbers, different persona, different fee. Merging them into one shared baseline would defeat the entire point of tracking incremental admits per program.
ACT 02

Every raw inquiry gets scored before anyone calls it

Leads arrive from WhatsApp, the web form, and CRM/CSV imports all day. Before a single call is placed, each one is scored against a real catalogue-program match — never an invented threshold — and sorted P1 (call now) through P4 (nurture).

💬 WhatsApp
Ananya Sharma
🌐 Web form
Rohan Mehta
📄 CSV import
Fatima Khan
💬 WhatsApp
Karthik Rao
SCORING ENGINE
fit vs. catalogue programexam score · budget · timeline · program match
P1
Ananya Sharma — MBA, 88%ile CATfit: exact
P2
Rohan Mehta — B.Tech CSEfit: strong
P3
Fatima Khan — BBA, exploringfit: partial
P4
Karthik Rao — no program statedfit: nurture
P1 leads reach a call within minutes; P4 leads go into WhatsApp nurture until they say something that re-scores them. The queue in Act 03 is what this produces at scale — dozens of these, live, at once.
ACT 03

The queue, mid-afternoon — several of these running at once

This is what Console actually looks like on a real afternoon — voice and WhatsApp side by side, different stages, one escalating. We're about to zoom into Ananya's call specifically.

📞Ananya S.discoverysgt-tara01:42
💬Priya N.fitsgt-tara04:10
📞Rohan M.escalatingsgt-online-lucy03:05
💬Fatima K.openingsgt-tara00:22
📞Devansh P.objectionsgt-online-lucy05:51
Rohan's call is already escalating — a hard gate has fired there too. Multiple guardrails can be live across the floor at the same moment; none of them wait for a human to notice.
ACT 04

Zooming in: the state machine, moving in real time

This is the state machine — a fixed sequence of conversation stages the call must move through in order. It cannot skip from Opening straight to Commitment, and every reply Tara gives is shaped by which node the conversation is in right now, not by what would sound persuasive in the moment.

Opening
Discovery
Fit
Recommend
Objection
Commitment
Escalating
Why this matters: a free-form chatbot can wander — answer a fee question mid-objection, promise something during discovery. This one physically cannot: the node it's in constrains what it's allowed to do next.
ACT 05

Ananya asks the one question the AI is never allowed to improvise

This is CDL — Counsellor Definition Language, a plain rulebook of what the AI can and can never say, matched by phrase category, not by asking the model to behave. "Will I definitely get in?" trips Category 5 — Admission Decision — and the same rule fires identically on every call, every time, regardless of how the model is otherwise behaving that day.

Category 5 — Admission Decision

Routes to admissions committee
FIRES WHEN CALLER SAYS
will i get inam i selectedwill i definitely get admission
BOT MUST NEVER SAY
you will get inyou're confirmedadmission is guaranteed
HANDOFF LINE — SPOKEN VERBATIM
"I can't make admission decisions myself — that's done by our admissions committee after reviewing your full application. Let me get them to call you and walk you through the process."
The state machine also reacts: this call's node jumps straight to Escalating, the same way Rohan's did back in Act 03 — regardless of which node the conversation was in a second earlier.
ACT 06

What a human supervisor sees — and can do — mid-call

Escalation doesn't mean the call goes dark. A supervisor watching Console can listen in silently, or take the call over entirely, without dropping it.

CALL STATE — ANANYA S.
Escalating · Category 5
Click an action to see what the counsellor's screen shows.
Listen in streams the live audio silently. Barge in opens the supervisor's mic into the same call without hanging up. Take over hands the whole call to a human — the AI stands down, the transcript stays continuous.
ACT 07

Meanwhile — the same engine, running as text

Priya and Fatima's threads from the Act 03 queue, live at the same moment as Ananya's call. Same CDL rules, same state machine — a hard gate on WhatsApp fires exactly the way it does on a call.

PRIYA N. · sgt-tara
FATIMA K. · sgt-tara
Every WhatsApp turn produces the same canonical event shape as a voice call — that's the whole reason Act 09's pipeline doesn't need to know which channel an event came from.
ACT 08

The call ends — and becomes one signed, structured record

Nothing about billing or the dashboard reads the transcript. It reads this — a single canonical event, assembled the moment the call ends.

{   "event_type": "ai_call_completed",   "lead_id": "ANANYA-SHARMA-0417",   "program": "MBA",   "channel": "voice_ai",   "outcome": "handoff",   "guardrail_flags": "cat5",   "duration_sec": 312 }
✓ HMAC-SHA256 signed · 10-minute replay window
Signing happens before this ever leaves the runtime — a copied or replayed request with a stale timestamp is rejected outright, not just logged.
ACT 09

One lock, so the same event can never be counted twice

This exact sequence was rebuilt on 2026-08-30 after a real race condition let a retried request slip past — the check and the write now share a single lock.

Signed event
arrives
🔒 One lock
dedupe + append
Event_Log
row written
Connector_Health
heartbeat
Why the lock matters: without it, a slow response plus a client retry could both pass the "is this new?" check before either had written — producing a real duplicate admit. Confirmed live, fixed the same day.
ACT 10

Does this event owe a fee? The pricing engine decides.

Ananya's handoff event isn't priced yet — it's a qualified handoff, not an enrollment. This is the decision the pricing engine actually runs once she does enroll.

baseline_excluded?
false → continue ↓
course_fee band
< ₹50K → micro-outcome
₹50K–5L → flat fee
₹5L–25L → % of tuition
result
₹15,000 → Outcome_Fees_Ledger
The same event, marked baseline_excluded: true instead, produces zero fee through this exact same path — that's how a baseline admit and an incremental admit are told apart at billing time.
ACT 11

Two dashboards, because two different people are asking two different questions

Neither one substitutes for the other, and nothing here waits for month-end — both recompute the moment a real event lands.

VOICE-AI ANALYTICS "Is the AI actually working, call by call?"
Total calls
54
Avg cost / call
₹0.88
Avg call length
9m 05s
Priority score accuracy — does a P1 lead actually convert more than a P4?
P4 · Low
1 enrolled / 2 not-a-fit or lost — 10 still in progress, honestly excluded, not padded into the rate.
Read daily by: Vani OS ops, counsellors, supervisors
GOOGLE SHEETS DASHBOARD "Are we getting outcomes for what we're paying?"
Enrollments confirmed
0
Incremental admits
0
Incremental revenue
₹0 Cr
ROI multiple
Read monthly by: SGT University finance and leadership
Voice-AI Analytics is about call quality and AI cost — it has no idea what a rupee is worth to the university. The Sheets dashboard is about outcomes and money — it has no idea how a call actually went. Neither one is the whole picture alone; together they're the whole system.
ACT 12

Pull back — everything you just watched, as one system

Two channels in, one runtime enforcing the same state machine and CDL on both, one signed event out — then a single source of truth that pricing, both dashboards, and the invoice all read from independently. For the full request-by-request sequence and the Cloud/On-Prem options, the companion architecture reference (linked in the footer) goes deeper than this page needs to.

on call/chat end signed POST reads Event_Log priced monthly revenue → 📞 Voice Call LiveKit · Pipecat 💬 WhatsApp Twilio + Baileys Vani OS Runtime State Machine + CDL guardrails, every turn Canonical Event HMAC-SHA256 signed 🔒 Lock → Event_Log dedupe + append, one lock Pricing Engine baseline_excluded? → fee band Voice-AI Analytics call cost & quality Sheets Dashboard outcomes & ROI Outcome_Fees_Ledger one signed row per fee Invoice monthly rollup
Every box here is something you already watched happen to Ananya's call in Acts 04–11 — this is just the same mechanism, seen as a whole instead of one lead at a time. The teal path is the only one that produces a fee.
reads / triggers the outcome-fee path
ACT 13

Month-end — the ledger becomes an invoice

Every line on this invoice is a rollup of real, individually-signed Outcome_Fees_Ledger rows — an auditor can walk backward from any line to the exact event that produced it.

INVOICE
SGT University — August 2026
INV-2026-08-SGT
Setup — one-time₹5,00,000
Platform — 4 months × ₹4,00,000₹16,00,000
Outcome fees — 1,000 incremental admits × ₹15,000₹1,50,00,000
Total₹1,71,00,000
✓ RECONCILED