Pluton.id
All work

BerQuran

A Quran reading app that follows the reader's voice word by word, with speech recognition running entirely on the phone.


on-device model, works fully offline
73 MB
Built for
DRW Foundation
 
Visit the live site

The problem

Someone reading the Quran aloud wants to know they are being followed — that the app is tracking the words actually being said, not guessing from a timer.

Doing that with a cloud speech API would have meant uploading a recording of a person praying, every session, from a phone that is often on a weak connection or none at all. That was not an acceptable trade, and a service that needs bandwidth to work is a service that fails exactly where it is needed most.

The approach

Recognition runs on the device. A Zipformer2 CTC phoneme model, quantised to INT8 and packed to roughly 73 MB, ships inside the app and produces a phoneme stream that is aligned in real time against the verse being read.

Alignment is forced against the known text rather than free transcription, which is what makes a small model viable: the app is not asking "what did they say?" but "how far along this line are they now?". Nothing about tajwid scoring is inferred — the app reports the heard word, and stops there, because a confident wrong judgement about someone''s recitation is worse than no judgement.

Everything above the model is ours too: alignment service, partner API, the release line, and the on-device symbol stripping that iOS release builds need in order not to lose the native symbols at link time.

The outcome

The app is live on Google Play and the App Store and works in aeroplane mode. Audio never leaves the phone, so there is no recording to store, leak or be asked for.

A partner API now serves the same alignment to other organisations, which turned a single app into a piece of infrastructure.