Skip to content

its-bash33r-here/Vision-Hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 InterviewAce — AI Mock Interview Coach

Built for the Vision Possible Hackathon by WeMakeDevs × Stream

InterviewAce is an AI-powered mock interview coach that joins a video call, conducts realistic job interviews, analyzes your body language in real-time, and generates a detailed performance scorecard.

InterviewAce Stream Video Gemini

✨ Features

  • 🎥 Real-time Video AI — Gemini Realtime analyzes your body language at 2fps during the interview
  • 🗣️ Voice Interaction — Natural conversational interview powered by STT/TTS
  • 🧠 Smart Questions — Role-specific behavioral & technical questions
  • 📊 Live Feedback — Real-time body language tips overlaid during the call
  • 📋 Scorecard — Detailed post-interview report with per-question scoring
  • Low Latency — Sub-30ms audio/video via Stream's edge network

🛠️ Tech Stack

Component Technology
AI Agent Vision Agents SDK (Python)
LLM + Vision Gemini Realtime (video + voice)
Video Streaming Stream Video (edge network)
Speech-to-Text Deepgram
Text-to-Speech ElevenLabs
Frontend React + Vite + Stream Video React SDK
Body Language Custom VideoProcessor + Gemini Vision

🚀 Quick Start

Prerequisites

Backend Setup

cd backend
cp .env.example .env
# Fill in your API keys in .env

uv run main.py run

Frontend Setup

cd frontend
cp .env.example .env
# Fill in your Stream API key and user token

npm install
npm run dev

Start an Interview

  1. Start the backend agent (uv run main.py run)
  2. Start the frontend (npm run dev)
  3. Open http://localhost:5173
  4. Select your target role and click Start Mock Interview
  5. The AI interviewer will join the call and begin

📁 Project Structure

├── backend/
│   ├── main.py           # Vision Agents agent (entry point)
│   ├── prompts.py        # System prompt & question banks
│   ├── processors.py     # Custom BodyLanguageProcessor
│   └── .env.example      # API key template
├── frontend/
│   ├── src/
│   │   ├── App.jsx             # Router
│   │   ├── pages/
│   │   │   ├── Landing.jsx     # Role selection
│   │   │   ├── InterviewRoom.jsx # Video call + feedback
│   │   │   └── Scorecard.jsx   # Results
│   │   └── components/
│   │       └── FeedbackOverlay.jsx
│   └── .env.example
└── README.md

🏗️ How It Works

┌─────────────┐     Stream Edge     ┌──────────────────┐
│  React App  │◄──── Network ──────►│  Vision Agent    │
│  (Frontend) │   (sub-30ms A/V)    │  (Python Backend)│
└─────────────┘                     └──────────────────┘
      │                                     │
      │  Video + Audio                      │  Gemini Realtime
      │  Feedback Events                    │  (fps=2 for vision)
      │                                     │
      ▼                                     ▼
  ┌──────────┐                     ┌────────────────┐
  │ Scorecard│                     │ Body Language   │
  │ Display  │                     │ Analysis        │
  └──────────┘                     │ Score Tracking  │
                                   │ Report Gen      │
                                   └────────────────┘

📝 Vision Agents Features Used

  • Gemini Realtime — Video frames + voice in one pipeline
  • Function Callingsave_score(), send_feedback(), generate_report()
  • Custom VideoProcessorBodyLanguageProcessor for frame analysis
  • Custom EventsBodyLanguageEvent for real-time frontend updates
  • Stream Edge Network — Ultra-low latency video/audio
  • Agent Lifecyclecreate_agentjoin_callfinish

📄 License

MIT — Built with ❤️ for the Vision Possible Hackathon

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors