ConvoLab is an AI-powered platform for practicing conversations. Developed by the GRAIL Center, it allows users to engage in realistic dialogue simulations while receiving real-time coaching feedback.
Many social skills—like having difficult conversations, giving feedback, or navigating conflict—are hard to practice in real life. ConvoLab creates a safe space to rehearse these interactions with AI.
The platform features two AI roles working simultaneously:
- Conversation Partner – Plays the other person in your scenario (e.g., a frustrated coworker, a hesitant patient, a resistant student)
- Coach – Observes the conversation and provides supportive guidance in real time
Think of it like a flight simulator for communication skills.
ConvoLab was designed with researchers and practitioners in mind:
- Social scientists studying communication, conflict resolution, or interpersonal dynamics
- Trainers and educators teaching negotiation, counseling, or difficult conversations
ConvoLab is also built as a public good. Our hope is to make this platform freely available to anyone who wants to become a better communicator. The overarching goal is to improve societal dialogue and reduce affective polarization—helping people engage more constructively across difference.
ConvoLab includes features specifically designed for research contexts:
- Custom scenarios – Define your own conversation setups (roles, contexts, goals)
- Observation mode – Researchers can watch sessions in real time
- QR code access – Easily onboard study participants
- Session data & telemetry – Collect interaction data for analysis
- Token quotas – Control usage per participant
- Admin dashboard – Manage users, scenarios, and access
When you start a practice session:
- You choose or create a scenario (e.g., "Give constructive feedback to an underperforming team member")
- The AI partner takes on the role you've defined
- You converse naturally via text (voice coming soon)
- The AI coach watches and offers guidance—either in real time or at key moments
- After the session, you can review the conversation
The AI uses large language models (like those from Anthropic, OpenAI, or Google) to generate realistic, context-aware responses.
docker compose up --buildThen open http://localhost:5173 — the app will guide you through configuration.
After pulling new changes, use
docker compose up --build -Vto rebuild and reset volumes.
Alternative: configure first, then run
cp .env.example .env
# Edit .env: add ANTHROPIC_API_KEY, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
docker compose up --buildOr with Task:
task setup # Creates .env
task up:bg # Start containers in backgroundSee QUICKSTART.md for detailed instructions including Google OAuth setup.
ConvoLab uses Google sign-in combined with an invitation system. Researchers can generate invite links to onboard participants without requiring manual account setup.
Click to expand for developers
See conversation-coach-architecture.md for details.
Stack:
- Backend: Fastify 5 + tRPC 11 + WebSocket
- Database: PostgreSQL 17 + Prisma 7
- Frontend: Vite 7 + React 19 + TanStack Query 5
- Landing: Astro 5
- Auth: Google OAuth + invitation links
- Monorepo: pnpm workspaces
- Linting: Biome
packages/
├── database/ # Prisma schema + types
├── api/ # Fastify server
├── app/ # React SPA
└── landing/ # Astro pages
docs/
└── plans/ # Implementation phases
Run task --list for all commands, or see QUICKSTART.md for details.
- Full-stack foundation (Docker, Prisma, tRPC, Google OAuth, auto-migrations)
- Multi-provider LLM streaming (Anthropic, OpenAI, Google via WebSocket)
- Invitation system (magic links with token quotas)
- Conversation practice (dual AI partner + coach, custom scenarios)
- Research tools (QR codes, live observation, notes, admin UI, telemetry)
- Coach aside (private Q&A with coach mid-conversation)
- Prompt Mangement and Opacity
- Consolidate landing page into React app
- Runtime model discovery (dynamic model selection)
Use AI assistants freely. Rapid prototyping > perfect code. Multiple experimental implementations are welcome.
- CONTRIBUTING.md - Dev workflow
- docs/plans/ - Implementation phases