Skip to content

michi883/yesand

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎭 YesAnd - AI Improv Practice Partner

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.


✨ Features

🎬 Dynamic Scene Setup

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!

🎙️ Real-Time Conversation

  • 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

📊 AI-Powered Coaching (Post-Scene)

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

📝 Personal Reflection

  • Guided reflection prompts
  • Save your own notes for each scene
  • Scene history tracking

🛠️ Tech Stack

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

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • ElevenLabs API key with a Conversational AI agent
  • Google Gemini API key

Installation

  1. Clone the repository

    git clone <repository-url>
    cd yesand
  2. Install dependencies

    npm install
  3. Configure environment variables

    Create a .env file:

    ELEVENLABS_API_KEY=your_elevenlabs_api_key
    GEMINI_API_KEY=your_gemini_api_key
  4. Configure ElevenLabs Agent

    In your ElevenLabs dashboard, enable "Allow override" for:

    • System prompt
    • First message
    • Voice
  5. Start the server

    npm start
  6. Open in browser

    http://localhost:3000
    

📁 Project Structure

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

🎯 How to Use

  1. 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
  2. Do the Scene

    • Speak naturally with your AI partner
    • Watch the live scene state update
    • Practice YES AND principles
  3. End & Review

    • Click "End Scene" when done
    • Review your personalized coaching
    • Add your own reflection notes
  4. Repeat

    • Try different relationships and tones
    • Track your progress over time

🎭 Improv Principles Practiced

  • 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

📄 License

MIT License - Feel free to use and modify!


🙏 Acknowledgments


Built with ❤️ for improvisers everywhere

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors