- 🧩 Addon Architecture — Modular system for discovery, streaming and downloading.
- 🔍 Multi-API Support — Search across multiple sources simultaneously using custom addons.
- 💡 Search Suggestions — Powered by iTunes for quick and accurate music discovery (Note: This is an inbuilt API not an addon).
- 📥 Music Downloader — High-quality music downloads with metadata tagging.
- 📻 Powerful Streamer — Seamless streaming experience with ExoPlayer/Media3 integration.
- 🎨 Material 3 & Haze — Modern, beautiful UI with glassmorphic blur effects and dynamic colors.
- ⚡ No Built-in Providers — Privacy-focused approach where users control their sources.
- 🗂 Local Library — Manage your downloaded music with a built-in library manager.
- ❤️ Favourites — Collect or favourite songs in library.
| Component | Library |
|---|---|
| UI Framework | Jetpack Compose |
| Design System | Material 3 Expressive You + Retro + Glass |
| Language | Kotlin |
| Networking | OkHTTP 3 |
| JSON Parser | Kotlin X Serialization |
| Navigation | Compose Navigation |
| Media | Media3 (ExoPlayer & Transformer) |
| Dependency Injection | Hilt / Dagger2 |
| Database | Room 3 |
| Preferences Store | DataStore |
| Image Loading | Coil 3.5 |
| Addon Runtime | DexClassLoader (.veena) |
| Scripting Engine | QuickJS-KT (from Dokar3) |
| Background & Downloads | WorkManager |
| Metadata & ID3 Tagging | Kyant's TagLib |
Veena/
├── app/ # Main Android application
│ └── src/main/java/com/indus/veena/
│ ├── database/ # Persistence (Room, DataStore)
│ ├── di/ # Dependency Injection (Hilt)
│ ├── extension/ # Addon loading & management
│ ├── helpers/ # Component helpers
│ ├── lifecycle/ # Lifecycle-aware observers
│ ├── models/ # Core data models & DTOs
│ ├── navigation/ # Compose navigation graphs
│ ├── repository/ # Data layer abstraction
│ ├── service/ # Media3 playback services
│ ├── ui/ # Screens & Theme
│ └── util/ # General utility classes
│
├── extension-contract/ # SDK for addon development
│ └── src/main/java/com/indus/veena/contract/ # Core interfaces & contracts
│
└── veena-gradle-plugin/ # Addon build tooling
└── src/main/java/com/indus/veena/gradle/ # Packaging & build tasks
Veena does not collect any user data, telemetry, or tracking information. Since the app is an aggregator that relies on user-provided addons, any data exchange happens directly between your device and the service provider defined in the addon. No intermediate servers are used.
- 🌐 Translations — Bringing Veena to more languages.
- 🔥 Trending Discovery — A dedicated screen for discovering trending music via addons.
- 📦 Official Addons — Official repository for curated music discovery addons.
- 🎨 Enhanced Theming — More customization options for the UI.
Join our community for support, updates, and addon sharing!
- ⭐ Star this repo to show your appreciation and help others discover Veena.
- 🐛 Report bugs in Issues with steps to reproduce.
- 🛠 Contribute by building addons or submitting pull requests.
Interested in building your own addon for Veena? Documentation is currently under development.
Addon Documentation (Coming Soon)
Veena is a content aggregator and a specialized browser for music services.
- No Hosting: Veena does not host, store, or distribute any copyrighted media or audio files.
- User Responsibility: All content is accessed via third-party addons provided by the community. Users are responsible for ensuring their use of such addons complies with local laws and the terms of service of the content providers.
- Educational Purpose: This project is for personal use and educational purposes.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
Any redistribution or modification must remain open-source under the same license. Commercial redistribution without attribution or license compliance is strictly prohibited.







