AI-Powered High-Stakes Communication Training
Features โข Download โข Screenshots โข Getting Started โข Tech Stack โข Contributing
Resonance is an offline-first Android mobile application that provides high-stakes communication training through real-time AI voice interactions. Train for critical conversations with AI-powered simulations that adapt to your performance.
Perfect for:
- ๐ผ Sales Professionals - Practice difficult negotiations and objection handling
- ๐ Customer Service Representatives - Handle crisis situations and complaints
- ๐ Managers - Prepare for performance reviews and difficult conversations
- ๐ค Public Speakers - Master Q&A sessions and investor pitches
| Feature | Description |
|---|---|
| Ultra-Low Latency | Voice interactions under 800ms response time |
| Natural Interruption | VAD (Voice Activity Detection) allows natural barge-in |
| 25+ Scenarios | Sales, Customer Service, HR, Presentations & more |
| Real-time Metrics | Pace (WPM), Clarity, Confidence, Filler Words |
| Bilingual Support | Indonesian ๐ฎ๐ฉ & English ๐ฌ๐ง |
Simulate real-world disruptions to build resilience:
- ๐ญ Random Voice Gen - Pitch and speed variations
- ๐ Background Noise - Office, rain, traffic, cafe sounds
- โก Hardware Failure - Mic mute, connection drops simulation
- Clone up to 5 custom voices with ElevenLabs
- Adjust stability and similarity settings
- TTS Playground for voice testing
- Comprehensive session reports with AI coaching feedback
- Performance trends and progress tracking
- Export reports as PDF/CSV
- Achievement system with gamification
- Offline-First: Full functionality without internet
- Local Storage: All data stays on your device
- Encrypted Keys: API keys stored securely
Installation Steps:
- Download the latest
.apkfile from Releases - Enable "Install from Unknown Sources" in your Android settings
- Open the downloaded APK file
- Tap "Install"
- Launch Resonance and start training!
โ ๏ธ Note: You'll need to configure your own API keys (ElevenLabs & Gemini) in Settings for full functionality. The app works in Mock Mode without API keys.
- Node.js v18 or higher
- npm or yarn
- Android Studio (for development)
- Expo CLI (
npm install -g expo-cli)
# Clone the repository
git clone https://github.com/REXREUS/resonance.git
cd resonance-mobile-app
# Install dependencies
npm install
# Start development server
npx expo start
# Run on Android
npx expo run:androidTo use AI features, you'll need:
- ElevenLabs API Key - Get it here
- Gemini API Key - Get it here
Configure keys in: Settings > API Configuration
| Technology | Version | Purpose |
|---|---|---|
| Expo SDK | 52.0.0 | Managed workflow with config plugins |
| React Native | 0.76.0 | Cross-platform mobile development |
| Expo Router | 4.0.0 | File-based navigation |
| Technology | Purpose |
|---|---|
| NativeWind | Tailwind CSS for React Native |
| Moti | Declarative animations |
| React Native Reanimated | Performance animations |
| Lucide Icons | Beautiful icon library |
| Lottie | High-performance animations |
| Technology | Purpose |
|---|---|
| Gemini 2.5 Flash | AI conversation logic |
| ElevenLabs WebSocket | Real-time TTS streaming |
| react-native-live-audio-stream | Real-time audio input |
| expo-av | Audio playback and recording |
| Technology | Purpose |
|---|---|
| expo-sqlite | Local SQLite database |
| expo-secure-store | Encrypted API key storage |
| Zustand | Lightweight state management |
resonance-mobile-app/
โโโ ๐ app/ # Expo Router screens
โ โโโ (tabs)/ # Tab navigation screens
โ โโโ session-setup.jsx # Training configuration
โ โโโ simulation.jsx # Active simulation
โ โโโ stress-mode.jsx # Stress test mode
โ โโโ report.jsx # Session report
โโโ ๐ components/ # Reusable UI components
โ โโโ ui/ # Base UI components
โ โโโ audio/ # Audio-related components
โ โโโ charts/ # Data visualization
โโโ ๐ services/ # Core business logic
โ โโโ audioEngine.js # Audio I/O management
โ โโโ vadService.js # Voice Activity Detection
โ โโโ elevenLabsService.js # ElevenLabs integration
โ โโโ geminiService.js # Gemini AI logic
โ โโโ chaosEngine.js # Disruption simulation
โโโ ๐ hooks/ # Custom React hooks
โโโ ๐ stores/ # Zustand state stores
โโโ ๐ constants/ # App configuration
โโโ ๐ utils/ # Utility functions
โโโ ๐ assets/ # Static assets
- Complete the onboarding tutorial
- Configure your API keys in Settings (optional for Mock Mode)
- Set your preferred language (Indonesian/English)
- Tap the yellow microphone button on the dashboard
- Select a scenario (e.g., Sales Objection, Customer Complaint)
- Choose training mode:
- Standard Training: Single conversation practice
- Stress Mode: Handle multiple callers under pressure
- Configure Chaos Engine options (optional)
- Tap Start Simulation
- Speak naturally - the AI will respond in real-time
- Interrupt anytime - VAD detects when you want to speak
- Monitor your metrics in the HUD
- Tap End Call when finished
- View your overall score and letter grade
- Check detailed metrics (Pace, Clarity, Confidence)
- Read AI coaching feedback
- Export report as PDF/CSV
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run with coverage
npm run test:coveragenpx expo run:android# Using EAS Build
eas build --platform android --profile production
# Local build
npx expo prebuild
cd android && ./gradlew assembleReleaseContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- ElevenLabs - AI Voice Synthesis
- Google Gemini - AI Language Model
- Expo - React Native Framework
- Lucide - Beautiful Icons
Made with โค๏ธ for better communication



