AI-Powered Executive Presence Training Platform
ConnectPro is a cutting-edge presentation coaching application that combines Google Cloud AI, real-time speech recognition, and multimodal analysis to help executives master their communication skills.
ConnectPro transforms presentation training by providing:
- Real-time speech analysis with live feedback
- AI-generated scripts tailored to your topic and style
- Multimodal coaching using voice, text, and performance metrics
- Executive presence scoring with actionable insights
- Professional voice synthesis for script playback and coaching
- Powered by Gemini 2.0 Flash (Vertex AI)
- Two modes: Full Script (verbatim) and Key Points Only (advisory)
- Multilingual support: English, French, German, Spanish
- Includes coaching cues: pauses, gestures, vocal variety
- Delivery Score: Tracks word-for-word accuracy against your script
- Filler Detection: Counts "um", "uh", "like", and other filler words
- Audience Engagement: Dynamic feedback (Waiting โ Attentive โ Engaged โ Captivated)
- Focus Areas: Identifies pronunciation challenges and off-script moments
- Browser-based speech-to-text using Web Speech API
- Real-time word highlighting as you speak
- Instant metrics updates during practice sessions
- Multi-language support for international speakers
- Personalized coaching feedback using Gemini 2.0
- Multimodal analysis of audio recordings
- Executive presence scoring (1-10)
- Specific, actionable improvement recommendations
- Primary: ElevenLabs (premium, human-like voice)
- Fallback: Google Cloud Text-to-Speech (reliable backup)
- Automatic failover for uninterrupted experience
- Script playback and coach voice intro
- Live voice conversations with Coach Marcus
- Real-time coaching guidance during practice
- Natural language understanding
- Context-aware responses
- Always-available virtual coaching assistant
- Google Cloud Storage integration
- Session recordings saved for analysis
- Persistent performance history
- Secure authentication via Google Sign-In
- HTML5 + Tailwind CSS for modern, responsive UI
- Vanilla JavaScript for real-time interactions
- Web Speech API for browser-based speech recognition
- Marked.js for markdown rendering
- ElevenLabs Conversational AI Widget for voice chat
- Flask (Python 3.11+)
- Google Cloud Vertex AI (Gemini 2.0 Flash)
- Google Cloud Storage (session recordings)
- Google Cloud Speech-to-Text (transcription)
- Google Cloud Text-to-Speech (fallback voice)
- ElevenLabs API (premium voice synthesis)
- Google Cloud Platform
- Cloud Run or App Engine deployment
- Service Account with Vertex AI, Storage, and Speech permissions
- Google Cloud Project with billing enabled
- APIs Enabled:
- Vertex AI API
- Cloud Storage API
- Cloud Speech-to-Text API
- Cloud Text-to-Speech API
- ElevenLabs Account (free tier available)
- Google OAuth 2.0 Client ID for authentication
-
Clone the repository
git clone https://github.com/yourusername/connectpro.git cd connectpro -
Install dependencies
pip install -r requirements.txt
-
Set environment variables
export GCP_PROJECT_ID="your-project-id" export GOOGLE_CLIENT_ID="your-client-id.apps.googleusercontent.com" export ELEVENLABS_API_KEY="sk_your_elevenlabs_key" export ELEVENLABS_VOICE_ID="your_voice_id" export GCS_BUCKET_NAME="your-bucket-name"
Note: The ElevenLabs Conversational AI widget (
agent_0801kdppe0vjee8a7ypw4txexjnn) is already configured in the HTML. To customize it, create your own agent at ElevenLabs and replace theagent-idinindex.html. -
Create GCS bucket
gsutil mb gs://your-bucket-name
-
Run locally
python app.py
-
Access the app
http://localhost:8080
gcloud run deploy connectpro \
--source . \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars GCP_PROJECT_ID=your-project-id,ELEVENLABS_API_KEY=your-keygcloud app deploy- Click "Sign in with Google"
- Authorize the application
- Select mode: Full Script or Key Points Only
- Choose language
- Enter your topic (e.g., "Innovation Strategy")
- Click Generate Script
- Click RECORD (after 3-2-1 countdown)
- Read your script aloud
- Watch real-time metrics update:
- Words turn green as you say them
- Delivery Score increases
- Filler count tracks hesitations
- Audience Energy reflects performance
- Click STOP when finished
- Review your metrics
- Click Get Coaching for AI analysis
- Executive Presence Score (1-10)
- Strengths identified
- Growth opportunities
- Power moves to practice
- Personal message from Coach Marcus
- Click the ElevenLabs chat widget (bottom-right corner)
- Ask questions about your presentation
- Get real-time coaching advice
- Discuss strategies for improvement
- Practice with voice-to-voice conversation
- Calculates word-matching accuracy in real-time
- Updates as you speak each word
- Range: 0% to 100%
Detects common fillers:
- um, uh, ah, er
- like, you know
- so, basically
- ๐ Waiting (0-59%): Building momentum
- ๐ Attentive (60-74%): Gaining interest
- ๐ Engaged (75-89%): Strong delivery
- ๐ฅ Captivated (90-100%): Commanding presence
- Google OAuth 2.0 for authentication
- Session tokens stored securely
- Service Account credentials via environment variables
- No API keys exposed to frontend
- HTTPS required for production
| Variable | Description | Example |
|---|---|---|
GCP_PROJECT_ID |
Your Google Cloud project ID | my-project-12345 |
GOOGLE_CLIENT_ID |
OAuth 2.0 client ID | 123-abc.apps.googleusercontent.com |
ELEVENLABS_API_KEY |
ElevenLabs API key | sk_abc123... |
ELEVENLABS_VOICE_ID |
ElevenLabs voice ID | Fahco4VZzob... |
GCS_BUCKET_NAME |
Cloud Storage bucket | connectpro-sessions |
The app includes an interactive voice chat widget powered by ElevenLabs Conversational AI:
<elevenlabs-convai agent-id="agent_0801kdppe0vjee8a7ypw4txexjnn"></elevenlabs-convai>
<script src="https://unpkg.com/@elevenlabs/convai-widget-embed" async type="text/javascript"></script>To customize:
- Create your own agent at ElevenLabs Conversational AI
- Configure the agent's personality, voice, and knowledge base
- Replace
agent-idinindex.htmlwith your agent ID
- Model:
eleven_turbo_v2_5 - Stability:
0.5 - Similarity Boost:
0.75
- Voice:
en-US-Neural2-D(deep male) - Speaking Rate:
1.0 - Pitch:
0.0
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Login page |
/dashboard |
GET | Main application |
/generate-script |
POST | Generate AI script |
/coach-voice |
POST | ElevenLabs TTS |
/google-tts-fallback |
POST | Google TTS fallback |
/upload-recording |
POST | Save session to GCS |
/generate-audience-reaction |
POST | Audience sound effects |
/multimodal-assessment |
POST | AI coaching analysis |
- Glass morphism design
- Real-time word highlighting
- Animated metrics (smooth transitions)
- Responsive layout (mobile-friendly)
- Dark theme optimized for focus
- Coaching cues (yellow highlights)
- Interactive voice chat widget (bottom-right corner)
| Feature | Chrome | Safari | Firefox | Edge |
|---|---|---|---|---|
| Speech Recognition | โ | โ | ||
| Audio Recording | โ | โ | โ | โ |
| Voice Playback | โ | โ | โ | โ |
| Real-time Metrics | โ | โ | ||
| Voice Chat Widget | โ | โ | โ | โ |
Note: Full speech recognition support requires Chrome or Edge. Safari and Firefox have limited Web Speech API support. The ElevenLabs voice chat widget works across all modern browsers.
- Video recording and analysis
- Presentation slide integration
- Team collaboration features
- Historical performance trends
- Custom coaching templates
- Mobile app (iOS/Android)
- WebRTC for live coaching sessions
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Cloud for Vertex AI and infrastructure
- ElevenLabs for premium voice synthesis
- Anthropic for AI coaching insights
- Tailwind CSS for beautiful UI components
For issues, questions, or feature requests:
- ๐ง Email: [email protected]
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
Live Demo: https://connectpro-79255818146.us-central1.run.app/
Video Demo: https://www.youtube.com/watch?v=hBwUS_-vu7Y
Built with โค๏ธ by the ConnectPro Team
Empowering executives to communicate with confidence and impact.