Skip to content

Selected work · AI · Evaluation platform · 3 min read

Making voice bots debuggable, then making them improve themselves

Built from zero to production in three months: triage from ~30 minutes to under a minute, and per-bot delivery from about a week to 1–2 days.

  • Built Argus: debug any voice-bot call with one command, from Google Chat, a CLI or a REST API.
  • Built AutoLoop on top: a build loop for new bots and a 7-stage, human-gated improve loop for live ones.
  • Triage went from ~30 minutes to under a minute; bot delivery from about a week to 1–2 days (estimate).
Role
Designed and built end to end: Argus as a GenAI intern, AutoLoop and the voice simulator as FDE
Team
Exotel voicebot platform
Timeline
Feb 2026 – Present
Links
Internal work; no public links
  1. Chat sim
  2. Voice sim
  3. Real calls

How it fits together

Build loop · before go-live

  1. requirements.md
  2. Eval-suite scenarios
  3. Baseline + 4 prompt techniques in chat sims
  4. Lock the winner
  5. Iterate on failures
  6. Voice sims → real calls

Improve loop · live bots, 7 stages(loops; regressions roll back)

  1. 1 Evaluate
  2. 2 Investigate
  3. 3 Recommend
  4. Human approval
  5. 4 Apply
  6. 5 Verify
  7. 6 Compare
  8. 7 Journey
Simplified view. Stage names as documented in the AutoLoop skills.

Context

Voice bots fail in ways that are slow to find: latency, speech recognition, prompt drift, tool errors, platform fallbacks that look like the bot misbehaving. Engineers dug through recordings and logs one call at a time.

Argus: one command to debug any call

A FastAPI service I built from scratch and shipped behind a load balancer with a Jenkins rolling deploy and automatic rollback. It answers in Google Chat, from a CLI and over a REST API.

Give it any call identifier and it pulls metrics and logs from two OpenSearch clusters, the bot's configuration from the platform API, and the recording from S3, then explains what happened.

AutoLoop, part 1: building a bot before go-live

The loop I run on every new bot, packaged so any FDE can run it from Cursor or Claude Code:

AutoLoop, part 2: improving bots already in production

Seven stages with a human approval gate in the middle. Nothing is applied without a person saying yes.

Packaging

AutoLoop ships as 20+ agent skills in all (stage skills, simulation skills and model-specific prompt skills for Gemini Flash, Gemma 4, GPT-4.1-mini and Qwen 3; 16 of them call the platform's REST APIs), an argus.sh CLI with about 30 commands, and an idempotent installer. Argus also hosts the CallEvaluator and ProdBotRecommender pipelines and a nightly evaluation harness.

Build log: Argus and AutoLoop, Feb – May 2026

Hover a step to see where it happened in the diagram above.

  1. Feb 2026pass

    Argus launches as a Google Chat bot over the metrics cluster

  2. Mar 2026pass

    Call details, perceived-latency analysis, root-cause analysis, recording proxy, alert digest, natural-language mode

  3. Apr 2026pass

    AutoLoop: simulate, approve, reject, roll back; evolutionary (GEPA) prompt optimisation with auto-rollback; ~75% lower simulation cost

  4. May 2026fail· 1 Evaluate

    An earlier loop recommended a prompt fix and a longer timeout for a bot that “refused” every request. The LLM endpoint was returning 404 on every call; the refusals were platform fallbacks.

  5. May 2026fix· 2 Investigate

    Added platform-health classification and the investigate-before-recommend gates; hardened into 8 invariants enforced in code and skills

  6. May 2026pass

    Journey audit, version-fenced benchmarks, pre-deploy simulation pipeline

Results

  • ~30 min → <1 min

    triage per issue

    Conservative, from the work record

  • ~1 wk → 1–2 d

    per-bot delivery

    Estimate across 10+ builds

  • 500+ · 79

    commits · merged PRs

    Argus repo: 514 commits and 79 merged PRs in Feb – May 2026 alone, more since

  • 30% → 85%

    behavioural score in 3 iterations

    One documented CCTV-support bot, simulations

  • ~75%

    lower simulation cost

    Scoring 6 instead of 23 metrics; simulation cost only

  • ~42K → ~19K

    prompt characters, one banking client

    Simulated time-to-first-word ~900 → ~450 ms (simulated, not production)

Designed and built by me, Aryan Jaiswal: Argus, AutoLoop, the simulation pipeline, the in-house voice simulator, and the CallEvaluator and ProdBotRecommender pipelines Argus hosts.

What I'd do differently

Stack

  • Python 3.11
  • FastAPI
  • Gemini (Pro + Flash)
  • LangGraph
  • OpenSearch
  • AWS S3 / SES
  • SQLite
  • WebSockets
  • Google Chat API
  • Splunk On-Call
  • Jenkins
  • numpy / ffmpeg