Voice Journal
Fully offline Android voice journaling: private by architecture, not by policy
Role
Solo Developer
Tech Stack
6 technologies
About This Project
Voice Journal started from a simple refusal: a journal is the most private thing a person writes, so it has no business talking to a server. Most "private" apps answer that with a policy page. This one answers it with a manifest. The app declares zero INTERNET permission, so the operating system itself makes network access impossible. There is no cloud tier to opt out of and no telemetry to disable, because the capability was never granted in the first place.
Everything that would normally justify a round trip happens on the device. Transcription runs through whisper.cpp, bridged into the Android app over JNI and built against the NDK, so speech becomes text without leaving the handset. Semantic search runs the same way: embeddings are generated locally with ONNX Runtime, letting you search entries by meaning rather than exact wording while the index stays on your own storage. The interface is Kotlin and Jetpack Compose throughout.
Offline shouldn't mean inaccurate, so the accuracy claims are measured rather than asserted. Benchmarks on a Pixel 10 Pro XL record 6.31% WER with VAD off and 4.50% WER with VAD on, and the raw benchmark JSON is committed to the repository so anyone can check the numbers against the code that produced them. Version 1.0.0 is released under GPLv3, so the architecture is auditable and so is the proof.
Key Features
- ◆Zero INTERNET permission: privacy enforced by architecture
- ◆On-device Whisper transcription via whisper.cpp + JNI
- ◆Semantic search with local ONNX embeddings
- ◆Benchmark-verified: 4.50% WER (VAD on) on Pixel 10 Pro XL
- ◆GPLv3, fully open source
Tech Stack
Interested in a similar project?
Let's discuss how I can build something like this for you.
Get in Touch