Kavya Kanaja is a sophisticated mobile platform engineered for the preservation and dissemination of Kannada poetic heritage. The application leverages modern Android development paradigms to provide an immersive, high-fidelity experience for literary exploration. It is designed to bridge the gap between traditional literature and modern digital accessibility.
The following screenshots provide a comprehensive overview of the application's user interface, including the authentication flow, home dashboard, content exploration, interactive quiz, and media playback.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The codebase adheres to Clean Architecture principles, ensuring a strict separation of concerns through the MVVM (Model-View-ViewModel) design pattern. This architecture facilitates scalability, rigorous testing, and long-term maintainability.
- UI Framework: Jetpack Compose (Declarative UI)
- Design System: Material 3 (M3)
- State Management: ViewModels with StateFlow/SharedFlow
- Navigation: Type-safe Compose Navigation implementation
- Business Logic: Independent domain entities (Poem, PoetBio)
- Use Cases: Dedicated logic for playback history and playlist management
- Local Persistence: Room Database with SQLite backing
- Cloud Integration: Firebase Authentication and Real-time data sync
- Media Engine: AndroidX Media3 (ExoPlayer) for optimized audio streaming
| Category | Technology |
|---|---|
| Programming Language | Kotlin 2.1 |
| UI Framework | Jetpack Compose |
| Database | Room / SQLite |
| Authentication | Firebase Auth |
| Audio Engine | Media3 / ExoPlayer |
| Build System | Gradle (Kotlin DSL) |
Implementation of a dedicated foreground service enables continuous audio playback. This architecture ensures the playback state remains consistent across the entire application lifecycle, including background transitions and device lock states.
A comprehensive, cross-referenced database of poet biographies provides users with critical historical and literary context for each archived work.
A multi-dimensional filtering and search system allows users to categorize works by historical period, author, or genre with low latency.
Robust local management of user-defined playlists, favorited content, and chronological listening history, synchronized with the user's profile.
- Android SDK 34 (Upside Down Cake) or higher
- Java Development Kit (JDK) 17
- Android Studio Ladybug (2024.2.1) or newer
- Clone the repository:
git clone https://github.com/zygisk-enc/Kavya_kanaja.git - Insert
google-services.jsoninto the/appdirectory. - Build the release bundle:
./gradlew assembleRelease
This project maintains industry-standard code quality through:
- Strict adherence to Google's Android and Kotlin coding conventions.
- Static analysis and linting via ktlint.
- Modularized project structure for decoupled development.
- Comprehensive Git history following Conventional Commits.
This software is licensed under the MIT License. Copyright (c) 2026 Zygisk.
Dedicated to the digital preservation of Kannada's poetic legacy.














