Blame

a100e9 admin 2026-08-07 11:33:37
init
1
---
2
title: Feature Matrix
3
aliases: [Implemented vs Pending, Roadmap Status]
4
tags: [3netra/wiki, features, roadmap]
5
product: 3netra Meta Android App
6
source_repository: 3Netra-ai/3n_meta_android
7
source_ref: origin/prod
8
source_revision: b48aada8fd5427b5db0c02945569963c4ae543c8
9
last_verified: 2026-08-06
10
up: "[[Home]]"
11
---
12
13
# Feature Matrix โ€” Implemented vs Pending
14
15
> [!info] Legend
16
> โœ… implemented & wired ยท ๐ŸŸก partial/scaffolded ยท โณ pending (PRD/roadmap) ยท โŒ removed/not started
17
18
## Core Features (PRD ยง5.1)
19
20
| Feature | PRD Priority | Status | Evidence / Notes |
21
|---|---|---|---|
22
| Classroom scene narration | P0 | ๐ŸŸก | Capture/UI and Edge invocation exist, but successful client response is fixed text; hardware gesture delivery is unverified |
23
| Whiteboard & text reading (OCR) | P0 | ๐ŸŸก | Read prompt exists; no OCR engine, hardware double-tap callback, or returned-model-text path |
24
| Classroom/slides mode + notes PDF | P0 | ๐ŸŸก | Bluetooth service has a branch/PDF helper; active Scene UI does not route its Classroom action to that branch |
25
| Emotion detection | P0 | ๐ŸŸก | Prompt and face-name injection exist; Edge response is discarded and no hardware left-double-tap callback was found |
26
| Person identification | P0 | ๐ŸŸก | FaceNet compares against Supabase-fetched CSV embeddings; not local-only, model failures are unsafe, and fallback answer is fixed text |
27
| Academic content filter | P0 | ๐ŸŸก | Enforced via prompts (academic tone, constrained outputs); no separate filter layer yet |
28
| Academic Mode (level vocabulary) | P0 | โœ… | Toggle on Home; appends academic-level instruction to prompts |
29
| Student voice persona | P1 | ๐ŸŸก | Four presentation companions + local selection; no distinct voice/prompt mapping. Active Scene helper retains legacy child filtering |
30
| Activity detection | P1 | ๐ŸŸก | Covered by scene/classroom prompts; no dedicated mode |
31
| Object identification | P1 | ๐ŸŸก | Via chat ("Be My Eyes") free-form questions |
32
| Hallway & navigation alerts | P1 | ๐ŸŸก | `HallwayNavigationService` (โ‰ค12-word cues) exists; not surfaced in UI |
33
| VLM switcher | P1 | ๐ŸŸก | `VisionService.VlmProvider` enum (moondream/llava/GPT4V) in legacy dashboard; not in student UI |
34
| Teacher dashboard | P1 | ๐ŸŸก | PIN-gated face registration + `SupabaseDashboardRepository` + FERPA audit logs; no web portal |
35
| Parent dashboard | P1 | โณ | Schema/planning only |
36
| Offline mode | P2 | โณ | PRD roadmap; `sessions.offline_mode` column exists; context mesh notes "Offline mode: Gemma 3" struck through |
37
| Multi-language support | P2 | ๐ŸŸก | Sarvam translate/TTS for Indic languages in speak path; UI English-only |
38
| Weekly learning summary | P2 | โณ | Today's Story covers daily; weekly report not built |
39
40
## Interaction Features
41
42
| Feature | Status | Notes |
43
|---|---|---|
44
| Glasses gestures (single/double tap, hold) | ๐ŸŸก | Callable handlers exist; no DAT gesture callback registration was found |
45
| One-shot voice commands (long-press) | ๐ŸŸก | Android speech service exists; no verified DAT trigger or source broadcaster for documented commands |
46
| "Hey Netra" wake word | โŒ | WakeWordService removed per user request; receiver hooks remain; PRD/JIRA AC still open |
47
| AI chat w/ image+video ("Be My Eyes") | ๐ŸŸก | Chat/media UI and Edge invocation exist, but client replaces responses with fixed success text |
48
| Lecture notes + AI summary | ๐ŸŸก | Device transcript and Edge invocation exist; summary response is fixed success text |
49
| Today's Story recap | โœ… | Timeline + "Read My Day Out Loud" |
50
| Emergency SOS | ๐ŸŸก | EmergencyAlertManager service only; no trigger, GPS/summaries TODO |
51
| Smart auto-capture / battery saver | ๐ŸŸก | SmartCaptureController (2s/10s intervals); toggle in settings; scene-change detection TODO |
52
| Recess/playground social | ๐ŸŸก | RecessSocialService exists; not surfaced in UI |
53
54
## Platform / Infra
55
56
| Item | Status | Notes |
57
|---|---|---|
58
| Supabase auth (email, OTP, Google) | โœ… | gotrue-kt; deep links `threenetra://` |
59
| Firebase โ†’ Supabase migration | โœ… | "Phase 5 complete, Firebase disconnected" (Mayukh log, Jun 2026) |
60
| AWS SAM AI gateway | ๐ŸŸก | Routes are implemented but `AwsBackendService` is unreferenced by production app code; deployment workflow omits its OpenAI parameter |
61
| Encrypted local face embeddings | ๐ŸŸก | Utility exists but is unreferenced; active enrollment/matching uses Supabase |
62
| Realtime settings sync | โœ… | Realtime channel on `student_settings` |
63
| GitHub Actions APK build | โœ… | Pushes to `prod` build and upload a debug APK; no test/lint/release signing gate |
64
| Face recognition w/ local embeddings (README roadmap) | โœ… | Done โ€” README item stale |
65
| Real-time shared classroom materials | โณ | README roadmap |
66
| E2E testing coverage | โณ | README roadmap; unit/instrumented scaffolding only |
67
| Teacher/parent web portals, My School Subjects | โณ | PRD screens not built |
68
| iOS companion app | โณ | PRD mentions iOS/Android; Android only today |
69
70
## Roadmap (Context Mesh + PRD)
71
72
**Meta glass app roadmap:** OCR, face recognition, emotion, campus navigation, multilingual output, dashboards, and offline support are roadmap/document claims. This audit does **not** promote them to delivered: the active AI client returns fixed success text, local-only face storage is unused, and hardware behavior is untested.
73
74
**PRD phases:** Treat PRD phases and checkmarks as planning evidence. Source supports partial UI/service scaffolding, not verified delivery of an end-to-end VLM, OCR, gesture, dashboard, or safety-navigation release.
75
76
**Q2 epics (org):** Revisit PRD ยท Redesign UI/UX wireframes ยท Redesign website (Fable5 Vercel)
77
78
---
79
80
> [!tip] Navigation
81
> โฌ…๏ธ [[05-Avatars-Companions|Avatars & Companions]] ยท ๐Ÿ  [[Home]] ยท โžก๏ธ [[07-Services-APIs-Vendors|Services, APIs & Vendors]]