Add iOS app with Node.js/TypeScript backend for BeMyEars project. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
BeMyEars 👂
BeMyEars is a real-time video communication platform designed to bridge the gap between Deaf/Hard of Hearing (HoH) individuals and Sign Language Interpreters.
The application provides a seamless, one-to-one video chat experience, allowing Deaf users to instantly request assistance for daily tasks, conversations, or minor emergencies, and enabling Interpreters to provide remote support.
👥 User Roles & Experience
For Deaf / Hard of Hearing Users
- Purpose: Get on-demand access to a visual interpreter.
- What to Expect:
- Dashboard: A clear list of currently available (online) Interpreters.
- One-Tap Calling: Simply tap an Interpreter's name to initiate a video call.
- High-Quality Video: Optimized video connection (up to 1080p) to ensure sign language and facial expressions are clearly visible.
For Interpreters
- Purpose: Offer remote visual assistance and interpretation services.
- What to Expect:
- Standby Mode: Login and toggle your status between "Online" and "Offline".
- Incoming Call Alerts: Full-screen notification when a user needs assistance.
- Two-Way Audio/Video: Use your voice to translate for the Deaf user while signing back to them via video.
- Abuse Reporting: Report inappropriate behavior immediately after a call.
🚀 Key Features
- Real-Time WebRTC Video: Low-latency peer-to-peer video streaming.
- Bifunctional Login: Single app supports both User and Interpreter workflows.
- Presence System: Interpreters control their availability; Deaf users see live counts.
- Video Visibility: Notifications confirm when video renders on the peer's device.
- Privacy First: Direct device-to-device connection.
🛠 Technical Overview
This project serves as a proof-of-concept for a modern IOS video chat application.
- iOS Client: Built with SwiftUI and WebRTC.
- Backend: Node.js + WebSocket signaling server.
- Connectivity: STUN/TURN support (ICE) for traversing NATs.
- Optimization: Custom video adaptation ("Feed the Beast" strategy) for iPad Pro compatibility.
📦 Setup & Build
- Install dependencies:
cd BeMyEars pod install - Open Workspace:
CRITICAL: You must open
BeMyEars.xcworkspace, NOTBeMyEars.xcodeproj.open BeMyEars.xcworkspace - Build: Select your target device and run (Cmd+R).