Voice Transcriber - Native Android App for voice transcription serving as a semantic notebook for conversations
Find a file
hermes 7fc258aacc
Some checks failed
Build Android / build (push) Failing after 1m22s
ci: re-run via runner pickup verification
2026-09-26 20:07:02 -07:00
.forgejo/workflows ci: fix Forgejo Actions dispatch on Mark/transcriber (#136) 2026-08-14 00:32:06 -07:00
app Apply changes from kilo-gsd.py run for Mark/transcriber#144 2026-09-14 10:03:23 -07:00
docs chore: add pre-commit hooks and fix trailing whitespace / EOF 2026-06-10 16:48:38 -07:00
gradle/wrapper Initial commit: Voice Transcriber Android app 2026-05-08 21:03:57 -07:00
.gitignore chore: gitignore .kilo/ working notes 2026-09-09 06:34:00 -07:00
.pre-commit-config.yaml chore: add pre-commit hooks and fix trailing whitespace / EOF 2026-06-10 16:48:38 -07:00
AGENTS.md docs: fix stale transcription/UI claims in AGENTS.md 2026-09-09 10:11:38 -07:00
build.gradle.kts chore: add pre-commit hooks and fix trailing whitespace / EOF 2026-06-10 16:48:38 -07:00
gradle.properties chore: add pre-commit hooks and fix trailing whitespace / EOF 2026-06-10 16:48:38 -07:00
gradlew Initial commit: Voice Transcriber Android app 2026-05-08 21:03:57 -07:00
gradlew.bat Initial commit: Voice Transcriber Android app 2026-05-08 21:03:57 -07:00
M003-CONTEXT.md docs: mark M003-CONTEXT.md as superseded 2026-09-09 10:09:46 -07:00
README.md chore: add Forgejo CI workflow and fix README 2026-05-09 10:21:00 -07:00
ROADMAP-OFFLINE.md chore: add pre-commit hooks and fix trailing whitespace / EOF 2026-06-10 16:48:38 -07:00
screenshot.png Initial commit: Voice Transcriber Android app 2026-05-08 21:03:57 -07:00
screenshot2.png Initial commit: Voice Transcriber Android app 2026-05-08 21:03:57 -07:00
screenshot3.png Initial commit: Voice Transcriber Android app 2026-05-08 21:03:57 -07:00
settings.gradle.kts chore: add pre-commit hooks and fix trailing whitespace / EOF 2026-06-10 16:48:38 -07:00
transcriber-CONTEXT.md Fix Java 8 compatibility: replace toSecondsPart() with dur.seconds % 60 2026-06-02 21:23:20 -07:00

Voice Transcriber

Native Android app for voice transcription serving as a "semantic notebook for conversations."

Architecture

  • UI: Jetpack Compose + Material 3 (slate dark theme)
  • State: ViewModel + StateFlow
  • DI: Hilt
  • Persistence: Room Database
  • Transcription: Android SpeechRecognizer API (planned)
  • Background: Foreground Service with microphone type

Build

export ANDROID_HOME=~/Android/Sdk
export ANDROID_SDK_ROOT=~/Android/Sdk
./gradlew assembleDebug

Requires full JDK (not JRE-headless) for AGP 8.2+ with JDK 21.

Project Structure

app/src/main/java/com/voicetranscriber/
├── App.kt                    # Hilt application class
├── MainActivity.kt           # Entry point, Compose UI
├── ui/theme/                 # Material 3 theme
├── ui/screens/               # Screen composables
├── service/                  # Foreground transcription service
├── data/database/            # Room database, DAOs, entities
├── data/repository/          # Repository layer
└── data/di/                  # Hilt DI modules

Data Model

  • RecordingSession: id, title, start/end time, notes
  • TranscriptSegment: id, sessionId, text, speakerId, subjectId, timestamp, confidence
  • Speaker: id, name, colorHex
  • Subject: id, name, parentId (hierarchical)

Permissions

  • RECORD_AUDIO
  • FOREGROUND_SERVICE
  • FOREGROUND_SERVICE_MICROPHONE
  • POST_NOTIFICATIONS