3 ms·
Given this is Hacker News, maybe you should talk about the tech a bit.
by nathanaldensr 11mo ago
Given this is Hacker News, maybe you should talk about the tech a bit.
- ahmadshahwaiz 11mo agoThank you Nathan for your feedback. Happy to share the tech side. Tech Stack Overview Android App: Kotlin + Jetpack Compose for the entire UI layer Material3 for theming (dark/light + custom palettes) Room for local caching of surah/ayah data, themes, and user preferences Retrofit + OkHttp for API calls Coroutines + Flows for async work and state management ExoPlayer (lightweight setup) for ayah-by-ayah audio playback Custom “chunking engine” for rendering long Arabic ayahs without breaking layout Custom text rendering to support multiple scripts (Arabic, Urdu, English) Data Layer: A topic-based ayah classification system built in JSON Around 6,000+ mappings organized manually + semi-automated checks Thematic categories stored locally to allow instant offline lookup API integration for translations, tafseer, and audio metadata Architecture: Clean Architecture (UI → ViewModel → Repository → DataSource) Stateless UI, reactive state flow Modularization in progress (core, data, features) Performance considerations: On-demand loading per surah to avoid loading full Quran in memory Pre-processing long verses to maintain Compose stability Caching audio segments for faster repeated playback Heavy emphasis on layout efficiency due to Arabic typography variance Backend: Lightweight middleware for translation sources Quran data normalized and optimized for fast mobile lookup Pre-indexed thematic JSON to avoid runtime processing on device Infra: Firebase Analytics for anonymous usage patterns CI/CD via GitHub Actions + Play Console integration