Add iOS app with Node.js/TypeScript backend for BeMyEars project. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
# 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
|
|
|
|
1. **Install dependencies**:
|
|
```bash
|
|
cd BeMyEars
|
|
pod install
|
|
```
|
|
2. **Open Workspace**:
|
|
**CRITICAL**: You must open `BeMyEars.xcworkspace`, NOT `BeMyEars.xcodeproj`.
|
|
```bash
|
|
open BeMyEars.xcworkspace
|
|
```
|
|
3. **Build**: Select your target device and run (Cmd+R).
|