SameeraLearn — AI Learning App for Sameera

Identity: Parent uploads notes → AI generates tests → child learns with delight → parent tracks progress. User: Sameera, 8 years old (Grade 2) Last Active: 2026-04-14 (active session today)


What It Is

A React Native app (personal project) for Yogii’s daughter. Parents upload school notes in any format (TXT, PDF, DOCX, images) — Claude API generates age-appropriate practice questions — child takes gamified tests — parent sees progress dashboard.

Invariant: No negative language ever shown to the child. No “wrong”, “failed”, “bad.”


Current State

MetricValue
Versionv1.2.0 (stable, 2026-03-17)
Test suite157 tests (155 pass, 2 pre-existing streak failures)
Question types7 (MCQ, True/False, Fill-blank, Match, Classify, Odd-one-out, Short-answer)
Upload formats4 (TXT, PDF, DOCX, Image/PNG) — all verified
Seeded questions100 age-appropriate Grade 2 questions across 5 units
Open audit findings28 (3 P0, 5 P1)
Next sprintv1.3.0 — planned but not started

Architecture

Content gate: AI generates draft questions → parent approves → child sees approved only. Structural safety.

Security model:

  • Cloud Functions-only analytics writes (client never writes analytics)
  • Firestore security rules: allow write split into create,update + delete (delete uses resource.data)
  • Child PIN — stored plaintext (P0 security gap, see gaps.md)

Stack: React Native (TypeScript) + Firebase (Firestore, Auth, Cloud Functions Gen 2) + Claude API


Open Gaps

See SameeraLearn Gaps.

Primary concern: 3 P0 audit findings (camera permissions, ErrorBoundary, API key rotation) + child PIN in plaintext.


Key Decisions

DecisionChosenWhy
Content approval gateParent approves before child seesChild safety — no wrong content reaches Sameera
Negative languageArchitecturally bannedChild psychology — no “wrong”, “failed”, “bad”
UI standards18sp+ body, 24sp+ questions, 48dp+ touch targetsCOPPA + children’s UX
Analytics writesCloud Functions onlySecurity + consistency — client never writes
Fallback pathsMust produce correct output for CURRENT data modelML#15 — after migration, audit ALL fallbacks

Cross-Project Connections

  • Parent brand: Indusynth.com — admin dashboard hosted at indusynth.com/dashboard
  • Proof point: Cited in Indusynth Vision.md for AI App Development service line
  • Tech patterns: Firebase Auth, Firestore rules, Cloud Functions patterns inform SwaPrep architecture
  • Independent codebase: No shared infrastructure with SwaPrep

1 item under this folder.