Convoy Mobile App Development

Замовник: AI | Опубліковано: 11.12.2025

## **JOB DESCRIPTION** --- ### PROJECT: CONVOY - Real-Time Location Tracking & Group Communication App I'm building a location-sharing mobile app called **Convoy** that allows 4+ users to: - Share real-time GPS location on a shared map - Navigate together with turn-by-turn directions - Communicate via integrated walkie-talkie (push-to-talk) mode - Monetize via ads and premium subscriptions This is a fixed-price INR 5000 project with 2–3-week timeline. You'll build the complete working app from scratch using Flutter or React Native. --- ### CORE FEATURES YOU'LL BUILD: 1. User Authentication - Email/Password signup & login (Firebase Auth) - User profile (name, avatar selection, settings) 2. Real-Time Location Tracking - Continuous GPS location sharing - Background location services (keep tracking even when app backgrounded) - Location accuracy: ±10m - Update frequency: Every 2-5 seconds 3. Google Maps Integration - Turn-by-turn navigation (Directions API) - Show convoy members as transparent circular avatars (60% opacity) - Display member names, distance, direction indicators - Zoom/pan with convoy optimization 4. Convoy System - Leader creates convoy, members join via invite code - Supports 4 users for free tier, 50+ for premium - Real-time member list showing: - Member name - Distance from user - AFK status (idle/disconnected) - Speaking status (if using walkie-talkie) 5. Walkie-Talkie Mode (CRITICAL FEATURE) - Push-to-Talk button: One person speaks, all others listen - Only 1 transmitter at a time (others' mics disabled while speaking) - Visual indicator: " [Name] is speaking" at top of screen - Audio Ducking (SAFETY FEATURE): - When user speaks via walkie-talkie - Navigation audio (Google Maps directions) automatically ducks to 30% volume - User's voice stays at 100% (so drivers hear walkie-talkie over GPS) - When speaking stops, navigation audio fades back to 100% smoothly - Transition time: 0.5 seconds (smooth fade, not jarring) - Settings: Toggle walkie-talkie on/off, choose hold-to-speak vs tap-to-toggle, adjust audio quality 6. AFK Detection & Timeout System (CRITICAL FEATURE) - Auto-detect when user is idle: - No movement >50m for 2+ minutes = IDLE - App backgrounded for 3+ minutes = DISCONNECTED - No network for 2+ minutes = OFFLINE - Display status: Grey avatar + "AFK" label on map - Auto-remove after 10+ minutes inactive - Notifications: "You're idle", "[Name] went AFK", "[Name] removed (timeout)" - Member can rejoin convoy if still active 7. Monetization - Banner Ads: Google AdMob banner at top of Settings page (free users only) - Video Ads: 30-second interstitial video when user clicks "Start Convoy" (free users only) - Premium users see no ads - User watches ad before convoy starts - Premium users skip video automatically 8. Premium Subscription - In-app purchase: £2.99/month (auto-renewing) - Features: - Up to 50 users per convoy (vs 4 for free) - No ads - Big League Mode: Create convoys with up to 9,999 members - In Big League: followers can't see each other (only leader sees all) - Privacy/security for large group events - Backend: Track premium status in Firebase user profile --- ### TECHNICAL REQUIREMENTS: **Platform:** - Flutter (preferred) OR React Native - iOS + Android builds (APK + IPA) - Optional: Web PWA (if time allows) **Backend:** - **Firebase**: Realtime Database OR Firestore - Real-time location sync - User authentication - Convoy data - Audio streaming (real-time walkie-talkie) - **No IONOS/custom hosting needed** (Firebase handles all backend) **APIs:** - Google Maps SDK (Android/iOS) - Google Maps Directions API - Firebase Auth, Realtime Database/Firestore - Google AdMob (ads) - Google Play Billing / Apple IAP (in-app purchase) **Required Libraries/Services:** - Location services (Geolocator, Geolocation) - Audio recording/playback (audio_players, flutter_sound, or native iOS/Android audio APIs) - Push notifications (Firebase Cloud Messaging) - State management (Provider, Riverpod, Redux, etc. - developer's choice) **Permissions (Android):** - ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION - INTERNET, RECORD_AUDIO - MODIFY_AUDIO_SETTINGS (for audio ducking) - WAKE_LOCK, CHANGE_NETWORK_STATE **Permissions (iOS):** - NSLocationWhenInUseUsageDescription - NSMicrophoneUsageDescription - UIBackgroundModes: location, voip