A real-time AI social awareness assistant for blind and low-vision users — Arabic-first.
Seeing AI tells you what's around you. 3ayn tells you what's happening around you.
Built for the Amazon Industry Program 2026 · AWS Serverless · Java 21 · MediaPipe
Existing accessibility apps are reactive and object-focused: the user taps, the app describes objects. 3ayn is proactive and socially focused — it watches continuously and narrates social events out loud, in Arabic, the moment they happen:
| Event | Narration |
|---|---|
| Someone approaches | شخص يقترب منك |
| Someone extends a hand | شخص يمد يده نحوك |
| Someone appears in front of you | شخص أمامك |
| Crowd / quiet | المكان مزدحم / المكان هادئ |
| A known person is recognized | أمامك ماريتا، أختك |
Plus three on-demand modes: Ask (describe my surroundings), Read (read the text in front of me), and Find (where is my bottle? → "إلى يسارك").
A cloud round trip takes 1–3 seconds. "Someone is extending a hand toward you" narrated 3 seconds late is useless — so 3ayn splits by latency requirement:
LATENCY-CRITICAL (continuous) LATENCY-TOLERANT (user-initiated)
───────────────────────────── ──────────────────────────────────
MediaPipe pose estimation Ask → Bedrock Nova 2 Lite
+ geometric heuristics Read → Textract
runs IN THE BROWSER Find → Rekognition Labels
zero network calls Who → Rekognition Faces
instant narration Speak → Polly (Arabic neural voice)
Real-time narration never waits for a network. Everything the user explicitly asks for runs on AWS, where managed AI earns its latency.
Bedrock (Nova 2 Lite) scene description · Textract OCR · Rekognition object labels + face matching · Polly Arabic TTS · Lambda (7 functions, Java 21) · API Gateway · DynamoDB (users + face profiles) · SAM infrastructure-as-code · Amplify hosting
3ayn/
├── files/
│ └── 3ayn-app.html ← the entire frontend (single file)
├── 3ayn-backend/
│ ├── template.yaml ← the whole AWS stack, declared
│ ├── samconfig.toml
│ └── ThreeAynFunction/ ← Java 21 handlers (7 endpoints)
└── docs/ ← technical report, screenshots
cd files
python -m http.server 8000
# open http://localhost:8000/3ayn-app.html (camera requires localhost or HTTPS)Register with your name, then paste the backend URL in Settings → Test connection.
cd 3ayn-backend
sam build
sam deploy --guided # stack: threeayn, region: eu-west-2Copy the ApiBaseUrl output into the app's Settings. Full endpoint contracts, smoke tests, and cost notes: 3ayn-backend/README.md.
| Endpoint | Service | Returns |
|---|---|---|
POST /ask |
Bedrock Nova 2 Lite | Arabic/English scene description |
POST /read |
Textract | Text in frame, read aloud |
POST /find |
Rekognition Labels | Object + direction (left/right/front) |
POST /who |
Rekognition Faces | Name + relation of enrolled person |
POST /enroll |
Rekognition + DynamoDB | Caregiver enrolls a known face |
POST /user, GET /user/{id} |
DynamoDB | Wearer profile + spoken welcome |
POST /speak |
Polly | Base64 MP3, Arabic neural voice |
Face recognition matches only people deliberately enrolled by a caregiver, with their knowledge. Strangers are never stored, fingerprinted, or clustered. No authentication by design — 3ayn is a single-wearer assistive device; a profile personalizes narration, it is not an account.
Event history per wearer → caregiver dashboard (live log, alerts) · "someone is speaking to you" detection · voice-command language switching (Transcribe) · smart cane companion (ESP32 + ultrasonic) · smart glasses form factor.
Built by Team 8 — Amazon Industry Program 2026 (IEEE / Women in Engineering, AUB).
