<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Voice AI | Shiv Kumar | Lead Engineer – GenAI &amp; Agentic AI</title><link>https://ms-kumar.github.io/shivkumar-portfolio/tags/voice-ai/</link><atom:link href="https://ms-kumar.github.io/shivkumar-portfolio/tags/voice-ai/index.xml" rel="self" type="application/rss+xml"/><description>Voice AI</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 01 Aug 2025 00:00:00 +0000</lastBuildDate><image><url>https://ms-kumar.github.io/shivkumar-portfolio/media/icon_hu_1c0e9cb08cfb822a.png</url><title>Voice AI</title><link>https://ms-kumar.github.io/shivkumar-portfolio/tags/voice-ai/</link></image><item><title>AACA — AI Contact-Center Platform</title><link>https://ms-kumar.github.io/shivkumar-portfolio/projects/aaca-ai-contact-center/</link><pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate><guid>https://ms-kumar.github.io/shivkumar-portfolio/projects/aaca-ai-contact-center/</guid><description>&lt;h2 id="project-details"&gt;Project Details&lt;/h2&gt;
&lt;div class="not-prose my-6 grid grid-cols-1 gap-4"&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
01
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Microservices Architecture&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Separated a latency-sensitive realtime voice edge from a stateful business control plane for independent scaling, deployment, and ownership.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
02
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Low-Latency Voice Edge&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Developed FastAPI and WebSocket services for streaming call audio and realtime agent interactions.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
03
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Telephony Integration&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Bridged Twilio Media Streams to the OpenAI Realtime API with native G.711 u-law audio to minimize transcoding overhead.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
04
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Speech Performance&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Delivered bidirectional speech-to-speech interaction with sub-second voice AI latency.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
05
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;RAG &amp;amp; Tool Calling&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Used OpenAI embeddings and Milvus retrieval with tools for knowledge search, customer verification, and ticket workflows.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
06
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Secure Operations&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Enforced identity verification before sensitive tool operations inside live voice sessions.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
07
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Agent Handoff&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Designed Redis pub/sub channels for cross-instance WebSocket delivery, call assignment, transfer, and human handoff coordination.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group rounded-2xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-all hover:-translate-y-0.5 hover:border-primary-300 hover:shadow-md dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;div class="flex items-start gap-2.5"&gt;
&lt;div class="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary-600 text-[11px] font-bold text-white shadow-sm shadow-primary-500/25 dark:bg-primary-500"&gt;
08
&lt;/div&gt;
&lt;div&gt;
&lt;h3 class="m-0 text-base font-semibold text-gray-900 dark:text-white"&gt;Deployment Stack&lt;/h3&gt;
&lt;div class="mt-1 text-sm leading-5 text-gray-600 dark:text-gray-300"&gt;Containerized MongoDB, Redis, Milvus, MinIO, and PostgreSQL with Docker Compose for Cloud Run horizontal scaling.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="tech-stack"&gt;Tech Stack&lt;/h2&gt;
&lt;div class="not-prose my-6 grid grid-cols-1 gap-4"&gt;
&lt;div class="rounded-xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-colors hover:border-primary-300 dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;p class="m-0 text-xs font-semibold uppercase tracking-[0.16em] text-gray-500 dark:text-gray-400"&gt;Voice &amp;amp; AI&lt;/p&gt;
&lt;div class="mt-3 flex flex-wrap gap-2"&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Python&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;GCP&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;GenAI&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;LLMs&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Agents&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;RAG&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;OpenAI Realtime API&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Twilio&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;WebSockets&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="rounded-xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-colors hover:border-primary-300 dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;p class="m-0 text-xs font-semibold uppercase tracking-[0.16em] text-gray-500 dark:text-gray-400"&gt;Backend &amp;amp; Data&lt;/p&gt;
&lt;div class="mt-3 flex flex-wrap gap-2"&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;FastAPI&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Milvus&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Redis&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;MongoDB&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;JWT&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="rounded-xl border border-gray-200 bg-white/70 p-4 shadow-sm transition-colors hover:border-primary-300 dark:border-white/[0.08] dark:bg-white/[0.03] dark:hover:border-primary-500/40"&gt;
&lt;p class="m-0 text-xs font-semibold uppercase tracking-[0.16em] text-gray-500 dark:text-gray-400"&gt;Deployment&lt;/p&gt;
&lt;div class="mt-3 flex flex-wrap gap-2"&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Docker&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Docker Compose&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;MinIO&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Postgres&lt;/span&gt;
&lt;span class="rounded-full border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:border-primary-500/20 dark:bg-primary-500/10 dark:text-primary-300"&gt;Cloud Run&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item></channel></rss>