A high-fidelity, peer-to-peer voice intercom application designed for offline communication in concerts, clubs, and festivals.
Comlink enables real-time voice communication between iOS devices without requiring an internet connection. Using Apple's Multipeer Connectivity Framework and AVFoundation, it provides ultra-low latency audio transmission with built-in noise isolation.
- Offline-First: Works in Airplane Mode with Wi-Fi/Bluetooth enabled
- Background Audio: Continues working when device is locked
- Noise Isolation: Filters background noise using iOS voice processing
- OLED-Friendly UI: Dark theme optimized for concerts
- Zero Dependencies: Uses only Apple frameworks
This project follows MVVM architecture with Swift 6.0+ and SwiftUI.
For comprehensive implementation details, see AGENT.md
Comlink/
├── App/ # App entry point and lifecycle
├── Models/ # Data models (Peer, AudioPacket)
├── ViewModels/ # MVVM ViewModels
├── Views/ # SwiftUI views
├── Managers/ # Business logic (MultipeerManager, AudioManager)
├── Utilities/ # Helper classes and extensions
└── Resources/ # Assets and resources
- Xcode 15.0+
- iOS 16.0+ deployment target
- Swift 6.0+
- Two physical iOS devices (simulator does not support Multipeer Connectivity)
-
Open the project in Xcode:
open Comlink.xcodeproj
-
Select a physical iOS device as the build target
-
Build and run (Cmd+R)
-
Grant microphone and local network permissions when prompted
- Install the app on two physical devices
- Device A: Start broadcasting
- Device B: Browse for peers and select Device A
- Accept the connection request
- Test voice transmission
The project is structured into 5 implementation phases:
- Phase 1: Project Setup & Permissions
- Phase 2: Multipeer Manager (P2P networking)
- Phase 3: Audio Engine Setup (capture and transmission)
- Phase 4: Audio Receiver (playback pipeline)
- Phase 5: UI Implementation (SwiftUI views)
See AGENT.md for detailed implementation plan
- Language: Swift 6.0+
- UI: SwiftUI
- Audio: AVFoundation & AVAudioEngine
- Networking: MultipeerConnectivity
- Architecture: MVVM
- AGENT.md: Complete architecture and implementation guide
- Info.plist Configuration: Required permissions and background modes
MIT (or specify your license)
This is a learning/demonstration project. Contributions welcome!
Status: 🚧 Architecture complete, implementation in progress