Hi, I'm Hassan
Voice AI Research Engineer. I build real-time voice agents and I'm chasing one question: why do voice agents break on real Indian speech, and how do we fix it?
Bengaluru, India · open to remote (IST)
HK
LiveKit · Deepgram · gpt-oss · ElevenLabs · Sarvam

Talk to my AI clone

Ask about my work, or how to get into voice AI: roadmaps, internships, jobs, tips. It only knows what's on this site.

Englishहिंदीमराठी

You're talking to an AI, not me. Calls end after 5 minutes or 45 seconds of silence. The transcript stays in your browser; this site doesn't record calls.

About

I lead the AI & real-time stack behind InCruiter's voice interviewers, scaled to 1,000+ concurrent interviews in 42+ languages. In production I root-caused why multilingual interviews broke: English-only text guards failed on Devanagari (0.39 vs a 0.5 match threshold) and Marathi STT hallucinated in 10 of 15 turns, then shipped script-aware, feature-flagged fixes.

Now I'm rebuilding the speech stack from the papers up, starting with Hindi and Marathi, and sending fixes upstream to livekit/agents. Before InCruiter I built WhatsApp automation and real-time voice agents at Anantkamal Software Labs in Nashik, and worked as an AI engineer at myRide (Boston, remote) on autonomous-vehicle rule validation. Also a 9× hackathon winner.

Work Experience

Education

Sandip University logo
B.Tech, Computer Science & Engineering
2023 - Present
Guru Gobind Singh Polytechnic logo
Guru Gobind Singh Polytechnic
Diploma, Computer Engineering
2020 - 2023

Skills

LiveKit Agents
WebRTC
Vapi
Twilio
Exotel
Telephony (PSTN)
STT / TTS
Deepgram
ElevenLabs
Silero VAD
Sarvam AI
Azure OpenAI
Groq · gpt-oss
LLM tool calling
Prompt engineering
LLM guardrails
Model fallback routing
Python
TypeScript
Node.js
React
Docker
Kubernetes
PostgreSQL
GitHub Actions
PyTorch · learning

Voice AI playbook

What breaks real voice agents, and what I do about each. Every card points at production work or at code you can read.

01

Phone calls, not just browsers

PSTN calls over Twilio and Exotel with Vapi orchestrating STT → LLM → TTS, call events over webhooks, voicemail detection so the agent never interviews an answering machine.

production: IncScreen, built from scratch
02

Interruptions and barge-in

Callers can cut in, but a cough or an “hmm” doesn't kill the sentence: a false interruption resumes the reply after 1 s. Fixed cut-off speech on Hindi calls.

code: voice-agent/agent.pyproduction: IncScreen
03

STT mishears names and jargon

Keyterm prompting: product names, people and tech words are pushed into Deepgram nova-3 keyterms and Sarvam's prompt, so “InCruiter” stops coming back as something else.

04

Hindi, Marathi and Hinglish in one call

STT auto-detects the language; the voice is picked from the reply itself (Hindi and Marathi share Devanagari, so marker words decide), and each language has its own TTS chain.

05

Guards that only read English

Script-aware, feature-flagged matching after an English-only guard scored a correct Devanagari answer 0.39 against a 0.5 threshold. Diagnosed Marathi STT hallucinating in 10 of 15 turns.

production: InCBotwrite-up
06

Providers fail mid-call

Every stage has a fallback chain: three STT engines, three LLMs, a TTS chain per language. A rate limit mid-call moves to the next model and the call carries on.

07

Latency that compounds

Per-stage latency budgets, streaming everywhere, preemptive generation that starts the reply before the turn is final, one 24 kHz format across voices.

08

LLMs that ramble or make things up

Voice-specific prompting: hard word cap with a server-side trim, markdown and emoji stripped before TTS, scope lock, prompt-injection resistance, no invented facts, AI disclosure.

09

Noisy rooms and echo

Krisp noise cancellation on the caller's audio in the agent, echo cancellation and auto gain in the browser.

10

Cost and abuse on a public agent

One-minute mic-only tokens bound to this site's origin, per-IP rate limit, 5-minute cap, hang-up after 45 s of silence, no call recording.

Projects

What I'm shipping

Two voice agents in production at InCruiter, the one you can talk to on this page, and the stack I'm building next. Every badge is honest: numbers on unfinished work are targets, not results.

Own Voice AI Models

STT · LLM · TTS · real-time orchestrator
In progress

My own Hindi/Marathi ASR and TTS models and a LoRA-tuned LLM, joined by a from-scratch streaming orchestrator (VAD, end-of-turn, barge-in); ONNX, INT8, speculative decoding.

Target: ~800 ms p50 voice-to-voice, ~5× lower cost/min than hosted APIs.

PyTorch
ONNX
asyncio
WebRTC
repo coming soon

InCBot — AI Video Interviewer

Production @ InCruiter
Shipped

STT → LLM (tool calling) → TTS interviewer with feature-flagged guards; Docker CI/CD to LiveKit Cloud via GitHub Actions; runs in 42+ languages.

Python
LiveKit Agents
Azure OpenAI GPT-4.1 / 4o
WebRTC
InCruiter

IncScreen — AI Phone & WhatsApp Screening

Production @ InCruiter · built from scratch
Shipped

Built from scratch: AI screening phone calls over Twilio and Exotel telephony, orchestrated with Vapi, plus WhatsApp interviews. Multilingual question sets, 7 Hindi voices, voicemail detection and fluency scoring. Hindi call-quality work: replies took ~5 s vs ~2 s in English, plus cut-off speech and interruptions.

Twilio
Exotel
Vapi
Webhooks
Python
InCruiter

This site's AI voice clone

Live on this page · open source
Shipped

Talks in English, Hindi or Marathi and switches when you do. Three-deep fallback chains for STT, LLM and TTS; keyterm-prompted STT; per-reply voice routing (Hindi and Marathi share a script, so it reads the reply's words); false-interruption recovery; Krisp noise cancellation; hangs up on silent callers. Five Python files, deployed to LiveKit Cloud by GitHub Actions.

LiveKit Agents
Sarvam
Deepgram
ElevenLabs
Groq gpt-oss
Talk to it
GitHubSource

IndicVoiceBench

Benchmark for voice agents on Indian speech
Planned

Ranks STT/TTS models (Sarvam, ElevenLabs, Deepgram, Cartesia, OpenAI, Whisper) on Hindi, Marathi and Hinglish phone audio: WER, time-to-first-byte, MOS; public leaderboard.

Target: 10+ models benchmarked.

Python
WER
MOS
HF Spaces
repo coming soon

Hinglish Turn Detector

Code-mixed end-of-turn model
Planned

Small transformer trained on Hinglish/Marathi dialogue (after VAP), shipped as a LiveKit Agents plugin.

Target: ~30% fewer false interruptions than VAD-only.

PyTorch
LiveKit Agents
repo coming soon

indic-guard

Script-aware text matching
Planned

Fuzzy-matches Devanagari, romanized and code-mixed text; born from the 0.39-vs-0.5 production bug.

Target: published on PyPI.

Python
PyPI
repo coming soon

Bhasha Bridge

Real-time translated phone calls · मराठी ⇄ English
Planned

Call any Indian number: each side hears the other in their own language and cloned voice (LiveKit SIP, STT → IndicTrans2 → F5-TTS).

Target: ~2 s end-to-end.

LiveKit SIP
IndicTrans2
F5-TTS
repo coming soon

Prompt-Injection Guard for Voice Agents

Red-teaming with spoken attacks
Planned

Red-team a voice agent with spoken attacks; a guard model blocks them.

Target: 200+ spoken attacks tested.

Red-teaming
Guard model
repo coming soon
Open Source

Fixes sent upstream

Bugs I hit running voice agents in production, fixed in livekit/agents. All three are in review.

PR
livekit/agents #7740

feat(voice): add bit_rate and constant_bit_rate options to RecorderIO

● Open · in review · +108 −0 · 2 files · 34 tests passed

Opus VBR made macOS show a 3:32 recording as 6:53+. Adds bit_rate / constant_bit_rate so recordings can match Egress (constant 128 kb/s).

PR
livekit/agents #7741

fix(voice): don't hang or buffer audio when the recorder encoder fails

✓ Merged · +101 −30 · 2 files · 4,966 unit tests passed

A failed encoder setup made AgentSession.aclose() hang forever and queued audio in memory for the rest of the session.

PR
livekit/agents #7742

fix(tokenize): ignore stray closing tags in the XML depth check

● Open · in review · +20 −1 · 2 files · 109 tests passed

A closing tag without its opener drove a depth counter negative and split <emotion> spans across TTS chunks. One-line fix.

Papers

Rebuilding the stack from the papers up

13 reimplementations from scratch, adapted to Hindi and Marathi. All planned: every arXiv link is live, and each repo goes public when it ships.

LLM
LLM

GPT + BPE Tokenizer

Vaswani et al. 2017 · Sennrich et al. 2016

Target: 50M-param Hinglish GPT; ~3× fewer tokens on Hindi.

LLM
LLM

Quantization + FlashAttention

Dettmers et al. 2022 · Frantar et al. 2023 · Dao et al. 2022

Target: INT8/INT4 + a fused Triton kernel.

LLM
LLM

LoRA + DPO + GRPO

Hu et al. 2022 · Rafailov et al. 2023 · Shao et al. 2024

Target: SFT → preference → RL on a Hindi 0.5B model.

LLM
LLM

Speculative Decoding

Leviathan et al. 2023

Target: ~2× faster replies.

LLM
LLM

Prompt-Injection Defense

Greshake et al. 2023

Target: 200+ spoken attacks.

ASR
ASR

Whisper

Radford et al. 2022

Target: Hindi fine-tune.

ASR
ASR

Conformer + RNN-T

Gulati et al. 2020 · Graves 2012

Target: streaming ASR, ablation reproduced.

ASR
ASR

wav2vec 2.0

Baevski et al. 2020

Target: self-supervised on Hindi audio.

TTS
TTS

VITS + HiFi-GAN

Kim et al. 2021 · Kong et al. 2020

Target: a Hindi voice.

TTS
TTS

StyleTTS 2

Li et al. 2023

Target: expressive Hindi.

TTS
TTS

F5-TTS

Chen et al. 2024

Target: zero-shot cloning from 10 s.

Audio
Audio

RVQ Codec + Mini-Moshi

Zeghidour et al. 2021 · Défossez et al. 2024

Target: audio tokens; a full-duplex speech LLM.

Audio
Audio

Voice Activity Projection

Ekstedt & Skantze 2022

Target: fewer interruptions than VAD.

Achievements

9× Hackathon Winner
CodeChef 3-Star
Top 15% globally; 1st in October Long Challenge among 8,000+ coders
30+ merged open-source PRs
Across 15 repos, Hacktoberfest 2022–2024
Technical Lead, Leads Community
2024 – present · 5+ workshops for 200+ students; 4 hackathons with 1,500+ participants

Certifications

Google Cloud — 5 Skill Badges
Deep Learning with PyTorch
Generative AI Concepts
AI Solutions in Business
Hugging Face Audio Course · in progress
Anthropic Academy · in progress
DeepLearning.AI × LiveKit — Voice Agents · in progress
NVIDIA GenAI LLMs Professional · in progress
Claude Certified Architect · in progress
Contact

Let's make voice agents understand India

Building voice AI for Indian languages, or hiring for it? Email me at hassankazinasik@gmail.com or message me on LinkedIn.

Bengaluru, India · open to remote (IST)

GitHub
LinkedIn