Offline P2P Video Calling App Development

Job ID: 40101705

Budget: $250 – $750 USD

Title

Offline Local Video Calling App (WebRTC) – Proof of Concept / MVP



1️⃣ Context

We are building a portable communications system that operates without internet or cellular backhaul.
Phones connect to a local Wi-Fi mesh and must be able to discover each other and place 1:1 video calls entirely offline.




2️⃣ Core Requirement (THIS IS THE HEART)

We need an offline-capable mobile app that:
• runs on Android (iOS optional, not required for v1)
• performs 1:1 voice + video calls
• works with zero internet
• uses WebRTC P2P for media (no cloud servers, no media relays)




3️⃣ Local Signaling (be very explicit)

The app must:
• auto-discover a local signaling service on the LAN (mDNS / gateway fallback)
• register a user identity (name + device ID)
• show a list of online users
• initiate and receive calls by user name (not IP)

The signaling service will run locally (on a router or small Linux device) and only coordinates call setup (SDP/ICE exchange).

What the Signaling Server Must Do

The local server must:
• accept client registrations
• maintain presence (“who’s online”)
• forward call invitations
• exchange WebRTC metadata
• survive IP changes / reconnections

It does not process audio or video.

Out of scope for v1:
• group calls
• recording
• cloud sync
• login with Google/Apple
• push notifications via internet
• SFU / media relay
• AI / analytics
• dashboards

Deliverables (concrete)

Deliverables expected:
1. Android & IOS APP app (APK + source)
2. Local signaling server (Docker or Linux service)
3. Basic documentation:
• how discovery works
• how to deploy server
• how to test offline
4. Demo scenario:
• two phones connect to same Wi-Fi
• discover each other
• place a video call offline

The project is successful if:
• two phones can place a clear video call Android to IOS and vice versa
• with no internet connectivity
• using only a local Wi-Fi network

Preferred Tech Stack (guidance, not mandate)

Preferred (but flexible):
• WebRTC native stack
• Kotlin (Android)
• Node.js or Go for signaling
• WebSocket-based signaling
• mDNS / Bonjour discovery
• with automatic discovery and user selection

Please let me know if this is something you can do and what the total cost would look like.