Offline-first Flutter app — 700 verses with multi-language translations, AI-powered conversations with Krishna, ambience mode, and a refined spiritual reading experience. Now testing on iOS via TestFlight.
Many Bhagavad Gita apps are cluttered with ads, complicated navigation, and poor readability. Users seeking spiritual guidance deserve a distraction-free experience that respects the sacred nature of the text while being accessible on modern devices.
Engineered an offline-first mobile app using Flutter with a clean-architecture layered design. All 700 verses ship embedded in a pre-seeded SQLite database — the entire reading experience works without a single network call. FTS5 indexing enables full-text search across all verses and translations in under 50ms. The latest update brings a refined UI, AI-powered conversations with Lord Krishna, ambience mode for a spiritual atmosphere, brief explainers for complex verses, expanded language support, private reflections, and richer chapter summaries.
Offline-first architecture with three distinct layers. The presentation layer handles UI state via Flutter's provider pattern, the domain layer encapsulates all business logic (verse lookups, bookmarking, search indexing), and the data layer manages local persistence and optional API sync.
All 700 verses ship embedded in the APK via a pre-seeded SQLite database — zero network dependency for core content. Translations are stored as separate columns per language rather than normalized rows, trading storage for read speed since users read far more than they write.
Designed for low-end Android devices. Lazy-loads chapter content, caches rendered widgets, and defers audio loading until playback is requested. Search uses a pre-built FTS5 index so full-text queries across all 700 verses complete in under 50ms.
Building an offline-first system with AI features forced me to think differently about data architecture — every byte matters when it ships in the APK, and every AI interaction needs to feel contextual, not generic. The decision to denormalize translations into columns instead of rows cut verse-load time significantly for the 99% read-heavy use case. Adding Talk with Krishna taught me how to design AI conversations that feel meaningful within a spiritual context. This project taught me that the best engineering decisions come from deeply understanding how users actually interact with the product, not from following schema textbooks.
Live on Google Play Store · iOS TestFlight