The frontend (apps/web) now lives in its own repo (gitea vaak). vaak-server is now backend-only. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Bolorey (Vaak)
AI-driven Corporate Communication Coach
Bolorey helps professionals speak with clarity, confidence, and authority in corporate settings. Unlike generic public speaking apps, Bolorey focuses on real workplace scenarios — project updates, client calls, stakeholder meetings, and executive briefings.
The system is designed to be drillable (Board → Phases → Categories → Tasks), mirroring how corporate training is rolled out: start lean with an MVP, then add feedback loops, roleplay, analytics, and enterprise integrations.
🌟 Vision
- Private practice sandbox — zero fear of judgment, unlimited reps.
- Real-time nudges — filler detection, pacing, assertiveness feedback during sessions.
- Post-session learning — regression over time, personalized weak-spot tracking.
- Enterprise-ready — team dashboards, SSO, HR/LMS integration.
Bolorey turns your communication growth into a structured roadmap: 📋 Board (Vaak) → 🎯 Phases → 📂 Categories → ✅ Tasks
🏗️ Architecture Overview
Phase 1 — Practice Mode (Backend Core)
Recorder (sounddevice)
↓ chunks
Whisper ASR (faster-whisper)
↓ transcript
Analyzers (fillers, pace, pauses, tone)
↓ analysis
Feedback layer (metrics + session summary)
↓
Regression (store transcript + metrics)
Phase 2 — Interactive Trainer
Recorder → ASR (low-latency Whisper)
↓ (parallel)
Analyzers (fast checks) → Feedback Nudges
↓
LLM Trainer (persona: manager/client) ↔ User
↓
Session Summary (analyzers + LLM reflection)
↓
Regression (store transcript + metrics)
🚀 Roadmap (Phases)
-
MVP (Phase 1)
- Audio capture & storage
- Whisper ASR transcription (streaming, low-latency sliding window)
- Rule-based analysis (fillers, pacing, pauses, tone)
- REST API endpoints (session lifecycle, chunk ingest, live partial, stats, finalize)
- SQLite (or DuckDB) storage
-
Interactive Trainer (Phase 2)
- Roleplay with simulated managers/clients (served by future orchestration layer)
- Low-latency ASR + feedback nudges (via analyzers + streaming endpoints)
- Privacy controls (API + data governance)
-
Regression Learning (Phase 3)
- Track progress over time
- Dashboards with trendlines
- Adaptive nudges
-
Portability & Future-Proofing (Phase 4)
- Export/import transcripts (JSON/Parquet)
- Semantic search over past sessions
- Archival storage + compliance
-
Advanced Extensions (Phase 5)
- Multi-language support
- Real meeting integration (Zoom/Meet plugins)
- Personalized growth plans
- Advanced analytics
-
Deployment & Rollout (Phase 6)
- CI/CD pipeline
- Enterprise integrations (SSO, LMS, compliance)
- Pilot programs
- Pricing & commercialization
📦 Dependencies
Runtime (requirements.txt)
faster-whisper— ASR modelffmpeg-python— audio I/O (requires ffmpeg via brew)sounddevice,soundfile— recording + WAV handlingfastapi,uvicorn,pydantic,python-multipart— API layersqlalchemy,pandas,duckdb,pyarrow— storage + analyticsnumpy,scipy— math, resamplingpython-dotenv,tqdm,typing_extensions— utilities
Dev/Test (requirements-dev.txt)
pytest,pytest-cov,pytest-watchblack,isort,flake8mypypre-commit(optional)
Lock file
requirements.lock.txt(generated viapip freeze) → ensures reproducibility in CI/prod.
🧪 Testing & TDD
- Tests live in
tests/(pytest). - TDD approach: stubs created for analyzers, feedback, regression → failing until implemented.
- Test data:
tests/data/hello_16k.wav. - Watch mode for fast dev:
make tdd - Coverage:
make coverage-html open htmlcov/index.html
🏰 Moats (Differentiation)
- Analytics: filler detection, pacing, regression dashboards.
- UX Drills: interactive trainer, adaptive exercises (implemented in separate UI repo).
- Coaching Logic: structured corporate framing, growth plans.
- Platform Edge: optional infra (low-latency, semantic search, compliance).
- Human Network: not in scope (BetterUp’s domain).
🛠️ Developer Workflow (Backend)
- Setup:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -r requirements-dev.txt
Makefile commands:
make test # run tests
make tdd # run tests in watch mode
make coverage # coverage in console
make coverage-html # coverage in browser
make lint # style + static checks
make format # auto-format (if configured)
make clean # remove caches
Run the API server
python -m vaak.api.server
Example endpoints:
curl -X POST localhost:8000/asr/session
curl -X GET localhost:8000/health
The web UI now lives in the separate vaak-ui repository (see that repo's README for frontend setup, dev commands, and deployment details).