Vaishnav Jan
Vaishnav Jan: an offline-first devotional app
Problem
Devotees wanted texts and audio in one place, usable by people who are elderly or new to smartphones, and without depending on a connection.
Solution
An Android app built on a local library, with reading, audio, an offline assistant and a lock, plus a reference backend and admin tool for content.
Architecture
- Reader UI · Compose
- Room library
- Media3 audio sync
- On-device assistant
- Reference backend
- Built
- Partly built
- Planned
Technology
- Kotlin
- Jetpack Compose
- Room
- Media3
- Hilt
- WorkManager
- SwiftUI
- Node.js
Key challenges
- Keeping the highlighted line in step with both the device voice and recorded audio.
- Designing for people who have never used a smartphone app.
- Making an offline assistant honest by labelling where each answer comes from.
Learnings
- Starting offline-first made everything else simpler: the network became an enhancement, not a requirement.
- Real content and real audio are a separate piece of work from the engineering and must be planned for.
Outcome so far
The Android app is built and tested, and an iOS port exists in code. Content is still sample data and nothing is deployed.
