Inspiration

RehearseMe was inspired by a simple but frustrating problem: How do you practice a script or speech when no one else is around to help? Actors, presenters, teachers, and students all struggle with solo rehearsal. Reading your lines out loud alone isn't engaging and you miss important feedback like pacing, clarity, and delivery mistakes. With AI voices and browser voice tech getting better, I realized I could create a virtual rehearsal partner that speaks your missing lines, listens to your delivery, and gives real-time feedback all in your browser

What it does

  1. Gives real-time feedback on your voice, pace, clarity, and filler words
  2. Lets you practice scripts or free speech with AI playback
  3. Offers voice warm-ups, drills, and personalized tips
  4. Tracks your progress and helps build confidence

How I built it

  1. Frontend: React with TailwindCSS
  2. Voice Synthesis: ElevenLabs API to play back lines using natural human-like voices
  3. Speech Recognition: Web Speech API to listen to the user’s voice, transcribe it, and provide timing/clarity feedback
  4. State Management: Local state for script saving
  5. Audio/Playback Tools: Simple timeline tracking and dynamic play/pause control to sync AI voice and user delivery
  6. Feedback Logic: Gemini 1.5 processes transcripts to analyze pacing, filler words, delivery confidence, and memory accuracy
  7. AI Script Partner: Gemini also helps generate practice scripts, simulate dynamic responses, and provide coaching-like feedback

Challenges I ran into

  1. Timing synchronization: Getting AI playback and microphone input to feel natural and coordinated was tricky. I had to fine-tune line delays and transitions to make practice feel real.
  2. Voice selection: Balancing performance, tone, and latency between ElevenLabs and fallback browser voices.
  3. Browser compatibility: Web Speech API behaves differently across browsers, so I had to implement fallbacks and test thoroughly.
  4. Distraction-free design: Keeping the UI minimal but useful took iterations too much data overwhelmed rehearsal; too little made it feel hollow.

Accomplishments that I'm proud of

  1. Built and launched RehearseMe, a fully working AI-powered script rehearsal tool using ElevenLabs, browser voice input, and real-time feedback.
  2. Designed and implemented a drag-and-drop script feature for fast, user-friendly content uploads.
  3. Integrated natural-sounding AI voice playback with precise timing control for immersive solo practice.
  4. Used browser voice input + AI to deliver feedback on pacing, filler words, and clarity in real time.
  5. Created a smooth, minimal UI with React + Tailwind, optimized for focus and speed.
  6. Explored Gemini 1.5 integration for adaptive feedback and coaching suggestions.
  7. Improved performance and usability across browsers (Chrome, Safari, Edge).
  8. Designed with real-world users in mind — presenters, actors, students — making practice practical and fun.

What I learned

  1. Integrating real-time voice input and playback creates a surprisingly immersive experience even without a second person.
  2. Users love looping and pacing modes, which help build memory and delivery confidence faster.
  3. Speech feedback UX needs to be forgiving and human overly robotic grading kills the flow.
  4. Lightweight MVPs can still be powerful when focused on a clear, everyday use case.

What's next for RehearseMe

  1. Save & track progress across rehearsals
  2. Multiple AI voices for different styles or accents
  3. Script templates for pitches, scenes, lectures
  4. AI coaching feedback via Gemini or other models
  5. Mobile-friendly version for on-the-go practice
  6. Shareable takes with private feedback links
  7. Freemium pricing with premium unlocks

Built With

Share this project:

Updates