Gig
$3.00 per hour, or bid total project
TBD
Dec 3, 2024
You must have access and know how to use some form of AI coding tool. Please describe your tools/workflow in your application.
PROJECT OVERVIEW
Complete the testing and integration of a call assistant application that works with incoming VoIP calls from the Zillow Premier Agent app. The system consists of a React Native mobile app (iOS/Android), web dashboard, and backend services.
CURRENT IMPLEMENTATION
1. Mobile App Status:
- React Native 0.76.3 with TypeScript
- Key dependencies configured:
* react-native-callkeep: 4.3.12
* react-native-voice: 3.2.4
* react-native-audio-record: 0.2.2
* react-native-permissions: 3.10.1
- Navigation setup
- UI components using react-native-paper
2. Integration Status:
- Backend API endpoints implemented
- Pusher real-time communication configured
- Web dashboard ready for real-time updates
- Mobile app structure complete
KEY RESPONSIBILITIES
1. Mobile App Call Integration (60%)
- Complete mobile app setup for both platforms:
* Resolve Android build configuration
* Set up iOS build environment
- Implement VoIP call detection and handling:
* Integrate with Zillow Premier Agent app's VoIP calls
* Set up react-native-callkeep for call interception
* Configure voice recording and transcription
* Test call assistant activation on incoming calls
2. Testing & Verification (30%)
- Test call flow scenarios:
* VoIP call detection from Zillow app
* Call assistant activation
* Voice recording and transcription
* Real-time updates to web dashboard via Pusher
- Verify permissions handling:
* Microphone access
* Call handling permissions
* Background process permissions
3. Documentation (10%)
- Document setup procedures for:
* iOS and Android development environments
* Testing procedures with Zillow Premier Agent app
* Troubleshooting guides
ENVIRONMENT SETUP
1. Required Tools:
- Node.js and npm
- Android Studio with JDK 17
- Xcode (for iOS)
- React Native CLI
2. Configuration Files Present:
- mobile/app.json
- mobile/index.js
- mobile/package.json
- mobile/android/build.gradle
- Environment files (.env.example provided)
TIMELINE
Estimated 1-2 weeks for completion:
- Week 1: Build setup and VoIP integration
- Week 2: Testing and documentation
IMMEDIATE PRIORITIES
1. Android build configuration resolution
2. iOS project setup and configuration
3. VoIP call detection implementation
4. Testing with Zillow Premier Agent app
mobile/
+-- src/
+-- components/
+-- CallAssistantDashboard/
| +-- index.tsx # Main dashboard component
| +-- CallControls.tsx # Call control buttons
| +-- TranscriptionView.tsx # Real-time transcription display
| +-- styles.ts # Component styles
+-- shared/ # Shared UI components
+-- services/
+-- navigation.ts # Navigation service setup
+-- callkeep.ts # VoIP call handling [NEEDS WORK]
| - Call detection setup
| - Incoming call handling
| - Background call management
+-- voice.ts # Voice recording [NEEDS WORK]
| - Audio recording setup
| - Transcription handling
+-- pusher.ts # Real-time updates [COMPLETE]
- WebSocket connection
- Event handling
+-- hooks/
+-- useCallHandler.ts # Call handling logic [PARTIAL]
| - VoIP call detection
| - Call state management
+-- useVoiceRecording.ts # Voice recording logic [PARTIAL]
| - Recording controls
| - Audio processing
+-- usePermissions.ts # Permission management [COMPLETE]
+-- utils/
+-- permissions.ts # Permission handling utilities
+-- audio.ts # Audio processing utilities
+-- callkit.ts # CallKit/ConnectionService helpers
+-- types/
+-- navigation.ts # Navigation type definitions
+-- call.ts # Call-related interfaces
+-- api.ts # API interfaces
+-- theme/
+-- index.ts # UI theme configuration
+-- android/
+-- app/
+-- src/main/
+-- java/com/zillowpremieragent/
| +-- MainActivity.java # Main activity [COMPLETE]
| +-- MainApplication.java # App config [COMPLETE]
+-- res/ # Android resources
| +-- values/
| | +-- strings.xml # String resources
| +-- drawable/ # Images and icons
+-- AndroidManifest.xml # App permissions & config
+-- build.gradle # Build config [NEEDS FIXING]
+-- gradle.properties # Gradle properties
+-- settings.gradle # Gradle settings
+-- ios/
+-- ZillowPremierAgent/
| +-- AppDelegate.mm # App initialization [NEEDS SETUP]
| +-- Info.plist # iOS configuration
| +-- Images.xcassets/ # iOS assets
+-- Podfile # iOS dependencies [NEEDS SETUP]
+-- ZillowPremierAgent.xcodeproj/ # Xcode project files
+-- App.tsx # Main app component [COMPLETE]
- Navigation setup
- Theme provider
- State management
+-- index.js # App registration [COMPLETE]
+-- app.json # App configuration [COMPLETE]
+-- package.json # Dependencies & scripts [COMPLETE]
+-- tsconfig.json # TypeScript configuration
IMMEDIATE TASKS
1. Android Build (Priority)
- Fix gradle plugin version issue
- Resolve dependency conflicts
- Test build process
2. iOS Setup
- Configure VoIP capabilities
- Set up required permissions
- Configure pod dependencies
3. Call Integration
- Complete callkeep.ts implementation
- Complete voice.ts implementation
- Test VoIP call detection
4. Testing
- Test with Zillow Premier Agent app
- Verify real-time updates
- Document test cases