VU — AI-Powered Virtual Interview Platform
VU conducts real-time AI-driven interviews with voice, video, and transcript analysis. It evaluates candidates using BARS-anchored scoring, detects cheating through 5 signals, and delivers a complete performance report — all without human intervention.
Service
Tech
Port
Repo
Frontend
React 19, Vite 7, nginx
5173
vu-frontend
Backend
NestJS 11, TypeORM, PostgreSQL
3000
vu-backend
AI Service
FastAPI, Gemini/Groq, AssemblyAI, edge-tts
8000
vu-ai
Database
PostgreSQL 16
5432
—
Docker 24+ with Docker Compose v2
An LLM API key: Gemini (recommended — 1M TPM free) or Groq (fast — 12K TPM free)
An AssemblyAI API key (for speech-to-text)
# 1. Clone with all submodules
git clone --recursive https://github.com/vu-app-dev/vu-app.git
cd vu-app
# 2. Copy and edit environment
cp .env.example .env
# Edit .env — fill in GEMINI_API_KEY (or GROQ_API_KEY) + ASSEMBLYAI_API_KEY
# 3. Start the stack
docker compose up --build
# 4. Access the app
# Frontend: http://localhost:5173
# Backend: http://localhost:3000 (Swagger: /docs)
# AI Service: http://localhost:8000 (health: /health)
All variables are in .env at the project root. Copy .env.example to start.
Variable
Default
Description
POSTGRES_USER
vu
PostgreSQL username
POSTGRES_PASSWORD
vu
PostgreSQL password
POSTGRES_DB
vu
PostgreSQL database name
Variable
Default
Description
JWT_SECRET
vu-dev-jwt-secret-change-me
JWT signing secret
AI_SERVICE_API_KEY
vu-ai-shared-secret
Shared secret for AI → backend auth
Variable
Default
Description
LLM_PROVIDER
gemini
gemini or groq
GEMINI_API_KEY
—
Google Gemini API key (if gemini)
GROQ_API_KEY
—
Groq API key (if groq)
ASSEMBLYAI_API_KEY
—
AssemblyAI API key (speech-to-text)
BACKEND_API_KEY
vu-ai-shared-secret
Must match AI_SERVICE_API_KEY
This repo uses git submodules for the 3 services.
# Clone with submodules
git clone --recursive https://github.com/vu-app-dev/vu-app.git
# If already cloned without --recursive
git submodule update --init --recursive
# Pull latest changes from all submodules
git submodule update --remote
Service
Command
AI Service
cd services/vu-ai && .venv/bin/python -m pytest tests/ -v (347 tests)
Backend
cd services/vu-backend && npm test
Frontend
No test runner configured
Architecture — system design, interview request flow, data model
AI Scoring — BARS scoring, cheat detection, LLM provider config
MIT