Sleek is a modern, open-source music streaming application designed for speed, elegant UI, and gapless playback. Built with React Native, Expo, Tamagui, and React Native Track Player.
- Previews
- Features
- Tech Stack
- Getting Started
- Available Scripts
- Quality and Languages
- Contributing
- License
- Audio Engine: High-performance playback with background audio support, lockscreen controls, notification artwork, and headphone hardware remote control.
- Smart Autoplay: Continuously fetches and queues related tracks when the active playback queue ends.
- Adaptive Streaming: Choose between 320 kbps (Extreme), 160 kbps (High), 96 kbps (Standard), 48 kbps (Low), and 12 kbps (Saver) streaming quality.
- Multilingual Music: Filter and curate music recommendations across 16 Indian and international languages.
- Rich Contents: Browse Trending songs, albums, and playlists, Latest releases, and curated Top Charts.
- Universal Search: Search across Songs, Albums, Artists, and Playlists, Queue.
- Plain Lyrics: In-player lyrics viewer with formatted line rendering.
- Queue Controls: Full playback controls (Play, Pause, Skip Next/Previous, Seek scrubber with buffered progress, Shuffle, Repeat One, and Repeat All).
- Mini-Player: Bottom floating mini-player with swipe-to-expand player sheet.
- Favorites: Save favorite songs, albums, artists, and playlists locally with offline persistence using
expo-sqlite. - Appearance: Auto (System default), Dark (OLED-friendly dark theme), and Light modes built with Tamagui design tokens.
| Category | Technology |
|---|---|
| Framework | Expo (SDK 55), React Native (0.83), React (19) |
| UI System | Tamagui v2, Lucide Icons (@tamagui/lucide-icons-2) |
| Routing | Expo Router (Typed file-based routing) |
| Audio Engine | React Native Track Player (@rntp/player) |
| Storage | Expo SQLite (expo-sqlite) |
| State / Fetching | SWR (swr), Custom Preference Store |
| Tooling | Bun, Oxlint, Oxfmt |
- Node.js (LTS) or Bun
- Android Studio / Xcode configured with Expo Dev Client (native audio modules require custom builds)
-
Clone repository:
git clone https://github.com/LakhindarPal/sleek-music.git cd sleek-music -
Install dependencies:
bun install
-
Launch development build:
# Start bundler bun run start # Run on Android bun run android # Run on iOS bun run ios # Run on Web bun run web
| Script | Command | Description |
|---|---|---|
start |
bunx expo start -c |
Start Metro bundler with cleared cache |
android |
expo start --android |
Launch on Android device / emulator |
ios |
expo start --ios |
Launch on iOS simulator |
web |
expo start --web |
Launch local web preview |
lint |
oxlint |
Run linter checks |
lint:fix |
oxlint --fix |
Automatically fix lint issues |
fmt |
oxfmt |
Format code using Oxfmt |
fmt:check |
oxfmt --check |
Check code format compliance |
upgrade:tamagui |
bunx npm-check-updates ... |
Update Tamagui packages |
View Streaming Quality Options
| Setting | Bitrate | Profile | Description |
|---|---|---|---|
_320 |
320 kbps | Extreme | Maximum fidelity |
_160 |
160 kbps | High | Balanced performance |
_96 |
96 kbps | Standard | Standard streaming |
_48 |
48 kbps | Low | Mobile data saver |
_12 |
12 kbps | Saver | Minimum bandwidth |
View Supported Languages (16 Languages)
Hindi, Tamil, Telugu, English, Punjabi, Marathi, Gujarati, Bengali, Kannada, Bhojpuri, Malayalam, Urdu, Haryanvi, Rajasthani, Odia, Assamese.
- Fork the repository.
- Create a branch:
git checkout -b feature/your-feature - Commit changes:
git commit -m "feat: add feature" - Push to branch:
git push origin feature/your-feature - Open a Pull Request.
This project is licensed under the MIT License.

