Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗣️ HR Negotiation Coach

Hugging Face Ollama Streamlit Python License

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.


⚡ Key Highlights

  • 🗣️ 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).

🛠️ Tech Stack

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

🚀 Quickstart & Setup

Step 1: Install Dependencies

Open Windows PowerShell and run:

# Install speech-to-speech framework, Kokoro TTS, and Streamlit
pip install speech-to-speech "speech-to-speech[kokoro]" streamlit

Step 2: Ensure Ollama is Running

Pull the local LLM model (llama3.2:3b):

ollama pull llama3.2:3b

💻 Running the Application

Option A: Launch CLI Mode (Fastest Terminal Session)

# 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"

Option B: Launch Streamlit Web GUI

streamlit run app.py

Select your scenario and HR persona from the web UI, then click "🚀 Start Negotiation".


🧪 Testing & Verification

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

🎯 5 Core Practice Scenarios & Prompt Ideas

  1. The Initial Lowball Counter: Practice counter-offering when HR presents a base salary below market rate.
  2. Competing Offer Leverage: Practice using a second active offer to negotiate higher RSUs/equity without burning bridges.
  3. STAR Method Conflict Scenario: Answer "Tell me about a time you disagreed with a Principal Architect on architecture."
  4. Promotion & Compensation Review: Pitch your manager for an out-of-cycle raise after leading a critical system launch.
  5. Signing Bonus Pivot: Negotiate a $15k–$25k signing bonus when base salary is strictly capped by pay bands.

🔮 5 Future Feature Ideas

  1. 📈 Sentiment & Pitch Analysis: Measure speech confidence, pitch stability, and filler word frequency during high-stakes turns.
  2. 💰 Total Comp Calculator Integration: Live calculation of Base + Equity + Bonus during the conversation.
  3. 🎙️ Multi-Voice HR Personas: Distinct realistic male/female recruiter voices using Kokoro voice presets.
  4. 📄 Automated Post-Negotiation Summary: Generate a downloadable markdown summary of agreed compensation terms.
  5. ⏱️ Pause & Silence Detector: Train users to embrace silent pauses after stating a counter-proposal instead of nervous rambling.

📁 Repository Structure

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

📜 License

Distributed under the Apache-2.0 License. See LICENSE for details.


🏷️ Keywords & Search Tags

speech-to-speech elevenlabs-alternative huggingface ollama local-ai-voice kokoro-tts parakeet-stt silero-vad voice-ai salary-negotiation behavioral-interview

About

HuggingFace Speech To Speech: Best ElevenLabs Alternative Free - Ultra-low latency 100% local voice AI Behavioral & Salary Negotiation Coach

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages