An ultra-low latency, 100% local voice AI Behavioral & Salary Negotiation Coach. Powered by Hugging Face's speech-to-speech framework and local Ollama LLMs (llama3.2), this application enables engineers and professionals to practice real-time salary negotiation, counter-offer proposals, STAR method behavioral drills, and executive stakeholder pushback out loud.
- 🗣️ Real-Time Negotiation Simulator: Silero VAD + Speech-to-Text + Local LLM + Kokoro TTS operating in a local microphone/speaker audio stream.
- 🔒 100% Private & Local: Zero voice data or compensation figures leave your machine.
- 🎯 Dynamic Negotiation Scenarios: Practice initial offer counter-proposals, competing offer leverage, STAR behavioral drills, and promotion reviews.
- 👤 Multi-Persona Role-Playing: Switch between Tough HR Director, Supportive Hiring Manager, and Executive Recruiter.
- 📊 Interactive GUI & CLI Modes: Run either directly from PowerShell (
python main.py) or via Streamlit (streamlit run app.py).
| Layer | Technology | Function |
|---|---|---|
| Voice Pipeline | huggingface/speech-to-speech |
Modular VAD → STT → LLM → TTS voice stream engine |
| Voice Activity | Silero VAD v5 | Real-time speech detection & turn-taking |
| Speech-to-Text | Parakeet TDT / Whisper | Fast local audio transcription |
| Local LLM Engine | Ollama (llama3.2:3b) |
Local OpenAI-compatible ChatCompletions backend |
| Text-to-Speech | Kokoro TTS / Pocket TTS | High-fidelity, low-latency local voice synthesis |
| UI Dashboard | Streamlit | Control panel for scenario configuration & transcript export |
Open Windows PowerShell and run:
# Install speech-to-speech framework, Kokoro TTS, and Streamlit
pip install speech-to-speech "speech-to-speech[kokoro]" streamlitPull the local LLM model (llama3.2:3b):
ollama pull llama3.2:3b# Run default Salary Negotiation scenario
python main.py
# Custom scenario & persona selection
python main.py --scenario "Competing Offer Leverage" --persona "Tough HR Director" --model "llama3.2:3b"streamlit run app.pySelect your scenario and HR persona from the web UI, then click "🚀 Start Negotiation".
Run these verification commands in Windows PowerShell:
# Test 1: Verify Ollama server status
Invoke-RestMethod -Uri "http://127.0.0.1:11434/api/tags" | Select-Object -ExpandProperty models
# Test 2: Verify main.py CLI help menu
python main.py --help- The Initial Lowball Counter: Practice counter-offering when HR presents a base salary below market rate.
- Competing Offer Leverage: Practice using a second active offer to negotiate higher RSUs/equity without burning bridges.
- STAR Method Conflict Scenario: Answer "Tell me about a time you disagreed with a Principal Architect on architecture."
- Promotion & Compensation Review: Pitch your manager for an out-of-cycle raise after leading a critical system launch.
- Signing Bonus Pivot: Negotiate a $15k–$25k signing bonus when base salary is strictly capped by pay bands.
- 📈 Sentiment & Pitch Analysis: Measure speech confidence, pitch stability, and filler word frequency during high-stakes turns.
- 💰 Total Comp Calculator Integration: Live calculation of Base + Equity + Bonus during the conversation.
- 🎙️ Multi-Voice HR Personas: Distinct realistic male/female recruiter voices using Kokoro voice presets.
- 📄 Automated Post-Negotiation Summary: Generate a downloadable markdown summary of agreed compensation terms.
- ⏱️ Pause & Silence Detector: Train users to embrace silent pauses after stating a counter-proposal instead of nervous rambling.
Speech-to-speech/
├── main.py # Standalone CLI negotiator & environment setup (~95 lines)
├── app.py # Streamlit web dashboard & process manager (~135 lines)
├── hr_context.txt # Company HR context & compensation policy details
├── README.md # GitHub-ready documentation & quickstart guide
└── demo_output.md # Aesthetic mock negotiation session transcript
Distributed under the Apache-2.0 License. See LICENSE for details.
speech-to-speech elevenlabs-alternative huggingface ollama local-ai-voice kokoro-tts parakeet-stt silero-vad voice-ai salary-negotiation behavioral-interview