{"id":50789690,"url":"https://github.com/thecodedaniel/gemma_san","last_synced_at":"2026-06-12T10:02:41.535Z","repository":{"id":358710258,"uuid":"1230065226","full_name":"TheCodeDaniel/gemma_san","owner":"TheCodeDaniel","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-18T19:29:05.000Z","size":2298,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-18T19:41:13.897Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheCodeDaniel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-05T16:36:25.000Z","updated_at":"2026-05-18T19:29:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/TheCodeDaniel/gemma_san","commit_stats":null,"previous_names":["thecodedaniel/gemma_san"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/TheCodeDaniel/gemma_san","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeDaniel%2Fgemma_san","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeDaniel%2Fgemma_san/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeDaniel%2Fgemma_san/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeDaniel%2Fgemma_san/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCodeDaniel","download_url":"https://codeload.github.com/TheCodeDaniel/gemma_san/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeDaniel%2Fgemma_san/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34238715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-12T10:02:40.566Z","updated_at":"2026-06-12T10:02:41.518Z","avatar_url":"https://github.com/TheCodeDaniel.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gemma-San\n\n\u003e Offline AI tutor for Nigerian children, powered by Gemma 4 on-device.\n\nHackathon submission — deadline May 18, 2026.\n\n---\n\n## What It Is\n\nGemma-San is a native Android app that acts as a patient, voice-first tutor for Nigerian children aged 5–12. It runs Google's Gemma 4 E2B model entirely on-device using flutter_gemma, so it works in classrooms with no internet after the initial model download. The tutor speaks in Nigerian Pidgin or English, uses the phone camera to annotate physical objects, and adapts to each child via a local memory system.\n\n---\n\n## Why\n\nMillions of Nigerian children lack access to quality, personalized tutoring. Gemma-San brings Socratic and direct-teach pedagogy to a $100 Android phone, offline, in the child's own language.\n\n---\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────┐\n│                Flutter UI                   │\n│  (Riverpod state, feature-first widgets)    │\n└────────────────────┬────────────────────────┘\n                     │\n        ┌────────────▼────────────┐\n        │     Domain / Use Cases  │\n        └────────────┬────────────┘\n                     │\n   ┌─────────────────┼──────────────────┐\n   │                 │                  │\n┌──▼──┐         ┌────▼────┐       ┌────▼────┐\n│sqflite│       │flutter_ │       │whisper  │\n│memory│        │ gemma   │       │.cpp STT │\n│store │        │(Gemma 4)│       │+ TTS    │\n└──────┘        └─────────┘       └─────────┘\n```\n\n*(Full architecture diagram — TODO: add Mermaid or image)*\n\n---\n\n## Build Instructions\n\n### Prerequisites\n\n- Flutter 3.32+ with Dart 3.11+\n- Android SDK, minSdkVersion 26\n- A physical Android device with 4+ GB RAM (emulator won't run Gemma)\n- Hugging Face account with access to `google/gemma-4-e2b`\n\n### Setup\n\n```bash\n# 1. Install dependencies\nflutter pub get\n\n# 2. Connect your Android device and verify\nflutter devices\n\n# 3. Run (debug)\nflutter run\n\n# 4. On first launch, the app will prompt for model download\n#    (~2 GB, requires internet on first run only)\n```\n\n### Build release APK\n\n```bash\nflutter build apk --release\n```\n\n---\n\n## Roadmap\n\n| Day | Goal |\n|-----|------|\n| 1 | LM Studio validation — Pidgin quality, function calling ✅ |\n| 2 | Scaffold + flutter_gemma install + HF model access ← *here* |\n| 3–4 | Conversation feature: voice in → Gemma → TTS out |\n| 5–6 | Memory system (three-tier + isolate compaction) |\n| 7–8 | Camera + annotation flow |\n| 9–10 | Practice / phonics drilling loop |\n| 11–12 | Onboarding flow (avatar, age, permissions) |\n| 13–14 | History browser + polish |\n| 15–16 | Performance tuning (latency, RAM) |\n| 17 | Final testing on device + submission |\n\n---\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodedaniel%2Fgemma_san","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecodedaniel%2Fgemma_san","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodedaniel%2Fgemma_san/lists"}