virtual-phone-numbers

byRollo

# App Development Prompt: FreeConnect โ€” Virtual Number & Calling App Build a modern, interactive Android communication app called **FreeConnect**. The app should allow users to access virtual phone numbers, make and receive internet-based calls, and call regular mobile and landline numbers. ## 1. Supported Countries Display virtual number availability for these destinations: - ๐Ÿ‡ฎ๐Ÿ‡ณ India (+91) - ๐Ÿ‡ต๐Ÿ‡ฐ Pakistan (+92) - ๐Ÿ‡ง๐Ÿ‡ฉ Bangladesh (+880) - ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom (+44) - ๐Ÿ‡บ๐Ÿ‡ธ United States (+1) - ๐Ÿ‡ฆ๐Ÿ‡ช Dubai, United Arab Emirates (+971) - ๐Ÿ‡ฎ๐Ÿ‡ท Iran (+98) **Important:** Show only numbers that the selected telecom provider can legally supply. If numbers for a country are unavailable, display โ€œCurrently unavailable.โ€ Do not generate fake real-world phone numbers or claim unsupported availability. ## 2. Internet-Based Calling - Make and receive voice calls over Wi-Fi or mobile data. - Support app-to-app audio calls. - Provide an interactive dial pad and contact list. - Include incoming-call notifications and call history. - Add mute, speaker, hold, and end-call controls. - Use WebRTC or a compatible SIP/VoIP service. - Support background calls and reconnection after network interruptions. ## 3. Normal Phone Calling - Allow users to call regular mobile and landline numbers. - Support international dialing codes and number validation. - Receive incoming calls to provisioned virtual numbers. - Route calls through a compatible PSTN/SIP telecom provider. - Display call duration, call status, and applicable charges. - Support emergency-call handling through the appropriate native phone service; do not route emergency calls through an unsupported VoIP system. Normal cellular calls must use the device's SIM and Android phone services. Calls from a virtual number to ordinary phone numbers require a provider with outgoing PSTN connectivity. ## 4. Virtual Phone Numbers Create a country-selection screen for India, Pakistan, Bangladesh, the UK, the USA, Dubai/UAE, and Iran. For each country: - Display the international dialing code. - Show available numbers from the provider. - Show whether incoming calls, outgoing calls, and SMS are supported. - Display pricing, verification requirements, and number expiration. - Allow users to select, activate, manage, or release numbers. - Support multiple numbers if permitted by the provider. Do not promise number availability or SMS verification for WhatsApp or other third-party platforms. ## 5. No Mandatory Login - Allow users to explore the app without creating an account. - Generate an anonymous user ID for the initial session. - Store demo preferences locally. - Offer optional secure backup and account recovery. - Require identity verification only when mandated by the provider or applicable law. - Explain that reinstalling the app or clearing its data may remove locally stored anonymous settings. ## 6. Additional Features - SMS and messaging where supported. - App-to-app calls. - Multiple virtual numbers. - Voicemail. - Call forwarding. - Call blocking. - Conference calling. - Contacts and call history. - Dark mode and light mode. - Push notifications for incoming calls and messages. - Usage and credit dashboard. - Privacy and security settings. ## 7. Free and Demo Mode - Make the prototype free to explore without login. - Provide demo numbers and simulated calls. - Clearly label simulated calls and messages. - Do not pretend that demo calls connect to real telephone networks. - Display actual provider charges before users activate paid telecom services. - Do not advertise real international calling as free unless the provider explicitly offers it for free. ## 8. Recommended Technology - Android: Kotlin + Jetpack Compose. - Internet calling: WebRTC or SIP SDK. - Virtual numbers and normal phone network connectivity: compatible telecom provider. - Backend: Node.js + TypeScript. - Database: PostgreSQL. - Notifications: Firebase Cloud Messaging. - Security: HTTPS, secure authentication tokens, encrypted sensitive data, and abuse prevention. Keep telecom API credentials on the backend, not in the Android application. ## 9. Design Requirements Create a polished, user-friendly interface with bottom navigation: Home | Keypad | Contacts | Messages | Settings Include a country selector, virtual-number dashboard, incoming-call screen, active-call screen, call history, voicemail inbox, and number-management page. ## 10. Final Deliverables Provide the complete Android project, source code, UI components, backend API structure, demo mode, telecom integration interfaces, installation instructions, and testing guide. **Final objective:** Deliver a usable Android communication app with internet calling, normal phone calling through supported telecom services, and virtual-number selection for India, Pakistan, Bangladesh, the UK, the USA, Dubai/UAE, and Iran, subject to actual provider availability and local regulations.

No preview

Comments (0)

No comments yet. Be the first!

Architecture

No Services Diagrams Yet

Architecture diagrams will be automatically generated when the Project Manager creates tasks for your project.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Read demo-mode disclosure
Landing: View supported countries
Landing: Enter app anonymously
Home: View anonymous session state
country selector: 1. Browse seven destinations
country selector: 2. Retry availability fetch
Home: Start demo call
Settings: View anonymous user ID
Settings: Toggle dark or light mode
Settings: Read local-data-loss notice
Account Recovery: Enable optional secure backup
Account Recovery: Decline backup and continue anonymously

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Read demo-mode disclosure
Landing: View supported countries
Landing: Enter app anonymously
Home: View anonymous session state
country selector: 1. Browse seven destinations
country selector: 2. Retry availability fetch
Home: Start demo call
Settings: View anonymous user ID
Settings: Toggle dark or light mode
Settings: Read local-data-loss notice
Account Recovery: Enable optional secure backup
Account Recovery: Decline backup and continue anonymously