Practice improv anytime with an AI scene partner and get real-time coaching from Gemini.
YesAnd is a web application that helps improvisers practice their skills through conversational scenes with an AI partner. After each scene, you receive detailed coaching feedback powered by Google's Gemini AI.
Choose your scene configuration before starting:
New: "I'll go first!"
You can now toggle "I'll go first" to initiate the scene yourself. The AI will wait for your opening line before responding.
Relationship Types:
Relationship Types:
- 👋 Friends Catching Up
- ☕ Coworkers on Break
- 👨👧 Parent and Teen
- 🏠 Roommates Sorting Something Out
- 🛒 Customer and Employee
- 📚 Mentor and Mentee
- ⚔️ Friendly Rivals
- 🚏 Strangers Crossing Paths
- 👫 Siblings
- 🧠 Therapist & Client
Scene Tones:
- 🌿 Calm & Grounded
- 🎉 Silly & Upbeat
- 🎭 Dramatic & Intense
- 😬 Awkward & Quiet
- ⚡ Fast-Paced & Chaotic
- 🤫 Understated & Subtle
Can't decide? Just hit "Start Scene" for a random setup!
- Voice-based interaction with ElevenLabs Conversational AI
- Dynamic Voices: The AI's voice now adapts to the selected Scene Tone (e.g., specific voices for "Calm" vs "Chaotic") rather than just the relationship type.
- Role-Neutral Prompts: For relationships like "Parent/Teen" or "Therapist/Client", the AI dynamically discovers which role it plays based on the conversation flow.
- Live scene state tracking (WHO, WHAT, WHERE, UNUSUAL)
- Real-time transcript display
After each scene, Gemini provides detailed feedback:
What Happened - Bullet-point summary with overall dynamic punchline
Key Moves You Made - Specific choices that shaped the scene:
- The move you made
- Your actual quoted words
- Why it was effective
Focus Areas - Structured improvement suggestions:
- Try: Concrete behavior to practice
- Why: The effect it has on scenes
- Example: An alternate line you could have said
- 💡 Tip: Relationship-specific advice
Scene Flow - Visual emotional timeline with color-coded beats:
- 🟢 Green: Positive moments
- 🟡 Yellow: Neutral moments
- 🔴 Red: Tension
- 🔵 Blue: Calm moments
Next Scene Suggestion - Personalized recommendation for what to try next
Performance Score - Overall rating from 1-10
- Guided reflection prompts
- Save your own notes for each scene
- Scene history tracking
| Component | Technology |
|---|---|
| Frontend | Vanilla HTML/CSS/JavaScript |
| AI Conversation | ElevenLabs Conversational AI |
| Coaching Analysis | Google Gemini 2.5 Flash |
| Backend | Node.js + Express |
| Styling | Custom CSS with CSS variables |
- Node.js 18+
- ElevenLabs API key with a Conversational AI agent
- Google Gemini API key
-
Clone the repository
git clone <repository-url> cd yesand
-
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile:ELEVENLABS_API_KEY=your_elevenlabs_api_key GEMINI_API_KEY=your_gemini_api_key
-
Configure ElevenLabs Agent
In your ElevenLabs dashboard, enable "Allow override" for:
- System prompt
- First message
- Voice
-
Start the server
npm start
-
Open in browser
http://localhost:3000
yesand/
├── public/ # Frontend assets (served static files)
│ ├── index.html # Main HTML structure
│ ├── style.css # All styling (1300+ lines)
│ └── app.js # Frontend logic & ElevenLabs SDK
├── backend/ # Backend logic
│ ├── server.js # Express backend & Gemini API
│ └── deploy_backend.sh
├── .env # Environment variables
├── package.json # Dependencies
└── README.md # This file
-
Start a Scene
- Optionally select a relationship and tone
- Toggle "I'll go first" if you want to start the conversation
- Click "Start Scene" (or let it pick randomly)
- Allow microphone access
-
Do the Scene
- Speak naturally with your AI partner
- Watch the live scene state update
- Practice YES AND principles
-
End & Review
- Click "End Scene" when done
- Review your personalized coaching
- Add your own reflection notes
-
Repeat
- Try different relationships and tones
- Track your progress over time
- Yes And - Accept and build on offers
- Listening - Really hearing your partner
- Specificity - Using concrete details
- Commitment - Going all-in on choices
- Emotional Truth - Genuine reactions
- Relationship Play - Embodying dynamics
MIT License - Feel free to use and modify!
- ElevenLabs for Conversational AI
- Google AI for Gemini
- The improv community for inspiration
Built with ❤️ for improvisers everywhere