explaingit

23rd/scrib

Analysis updated 2026-05-18

14KotlinAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

Scrib is an Android app that transcribes speech to text entirely on the phone using offline Whisper models, so audio never leaves the device.

Mindmap

mindmap
  root((scrib))
    What it does
      On-device transcription
      No audio upload
      Uses Whisper models
    Tech stack
      Kotlin
      Android
      whisper.cpp
      NDK CMake
    Use cases
      Transcribe local audio
      Background service for apps
      Model switching
    Audience
      Privacy focused users
      Android developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Transcribe an audio file already saved on your phone into text without an internet connection.

USE CASE 2

Let another Android app, such as Forkgram, use Scrib in the background to turn voice messages into text on-device.

USE CASE 3

Download different sized Whisper models and switch between them to balance transcription speed and accuracy.

USE CASE 4

Build a compatible transcriber app using the open Open Transcribe contract instead of depending directly on Scrib.

What is it built with?

KotlinAndroidWhisperwhisper.cppCMakeNDK

How does it compare?

23rd/scribcomposablehorizons/material-3-compose-unstyledlyosu/hortay-android
Stars141414
LanguageKotlinKotlinKotlin
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Building from source needs Android SDK 35, NDK 27, and CMake, plus cloning with git submodules for whisper.cpp.

GPL v3.0 or later: you can use and modify the code freely, but any modified version you distribute must also be shared under the same license.

In plain English

Scrib is an Android app that turns spoken audio into text entirely on the phone, without sending anything to a server. It uses the open Whisper speech models to do the transcription, and the only time the app connects to the internet is to download a model the user chooses. Once a model is on the device, all transcription happens offline. There are two main ways to use Scrib. A person can pick any audio file already on their phone and have Scrib transcribe it directly inside the app. Scrib can also run quietly in the background as a shared transcription engine for other apps: an app such as Forkgram can send it a voice message and get text back, all still processed on the device, as long as that app lets the user pick Scrib as its offline transcriber. Users choose which Whisper model to download from the main screen, or let Scrib pick a suitable one based on their language. Bigger models tend to be more accurate but slower and larger to download, and a person can keep several installed and switch between them. Scrib also supports adding other whisper.cpp compatible GGML models by direct link or by importing a file already saved on the device. Models themselves are not included with the app and must be downloaded separately. For developers, Scrib exposes an open contract called Open Transcribe, a small Android service with no SDK and no network requirement, so any app can ask for offline transcription without being locked to Scrib specifically. Other transcriber apps that support the same contract could be used in its place. Building Scrib from source requires cloning with submodules, since its transcription engine is compiled from a bundled copy of whisper.cpp using CMake and the Android NDK. Because everything runs on the device, no voice recordings ever leave the phone, and network access is limited strictly to downloading a chosen speech model over HTTPS. Scrib is free software released under the GNU General Public License version 3.0 or later, and it bundles the separately licensed whisper.cpp project to run the underlying Whisper models.

Copy-paste prompts

Prompt 1
Explain how Scrib transcribes audio entirely on-device without uploading anything.
Prompt 2
Walk me through picking and downloading a Whisper model in Scrib for my language.
Prompt 3
How does the Open Transcribe contract let other apps use Scrib as an offline transcriber?
Prompt 4
What do I need to build Scrib from source with its whisper.cpp submodule?

Frequently asked questions

What is scrib?

Scrib is an Android app that transcribes speech to text entirely on the phone using offline Whisper models, so audio never leaves the device.

What language is scrib written in?

Mainly Kotlin. The stack also includes Kotlin, Android, Whisper.

What license does scrib use?

GPL v3.0 or later: you can use and modify the code freely, but any modified version you distribute must also be shared under the same license.

How hard is scrib to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is scrib for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.