Maheshwar Hari Tripathi
Open to select work 21:00 IST · Portfolio 2026
← Work index Case 03 / 09 Android · Voice

SwarnaVani

Voice dictation that types into the app you are already using.

In progress 2026 Android

Why it exists

01

Typing Hindi in Roman script on a phone is slow, and switching to a separate transcription app breaks the thought. SwarnaVani puts a small mic island above whatever field is already open.

The goal is not a chatbot. It records, transcribes, cleans up the sentence and inserts the text where the cursor is.

Recorded 2026
Kaushambi, India

The constraints

02
  • 01Android only; the iOS project exists but has not been tested on a device.
  • 02Text injection requires an accessibility service, which users must enable manually.
  • 03The overlay must follow the keyboard without stealing focus from the field.
  • 04Cloud transcription is fast but needs a network connection.

The approach

03

A floating island, not a keyboard

The accessibility service detects an editable field and shows a Dynamic Island-style overlay above it. The island owns the recording state and the text is injected back into the focused field.

Transcribe, then clean

Groq Whisper handles Hindi, English and Hinglish audio. A second Groq chat pass removes filler words and fixes punctuation before the text is inserted.

Keep the history local

MMKV stores transcripts, dictionary entries, snippets and streaks on the device. There is no account and no server-side history.

What it actually does

04
  • 01Floating Dynamic Island-style microphone overlay.
  • 02Groq Whisper transcription for Hindi, English and Hinglish.
  • 03Filler-word removal and punctuation cleanup.
  • 04Direct text injection into the focused field.
  • 05History, dictionary, snippets and daily word counts.
  • 06Edge glow and haptic feedback for recording states.

Technical notes

05

React Native 0.84 with Kotlin native modules. AudioRecordManager captures a WAV file; FloatingMicService runs the foreground recording session; GroqApiClient handles transcription and cleanup; SwarnaVaniAccessibilityService owns the overlay and text injection.

The UI uses Reanimated, Skia and custom native views. The accessibility service is the hardest part because focus, keyboard visibility and overlay z-order differ across Android skins.

Role
Design, React Native development, Android native modules
Year
2026
Platform
Android
Stack
React Native, TypeScript, Kotlin, Groq Whisper, MMKV, Reanimated, React Native Skia
Status
In progress

Honest limits

06
  • 01Android only; no tested iOS build.
  • 02Accessibility permission is mandatory and some apps block injected text.
  • 03Transcription is cloud-based; offline dictation is not implemented.
  • 04API key handling needs to move out of the client before any public distribution.
  • 05The 29.5MB release APK is a personal build, not a store release.

What it taught me

07

“Voice input is not one feature. It is recording, transcription, cleanup, focus and insertion, and any one of those failing makes the whole thing feel broken.”

Next case — 04 / 09 Melo All nine projects