Skip to content
devfahim00Public

About

Lightweight, fully anonymous YouTube client for Android built with Kotlin & NewPipeExtractor. No Google account, no API keys, no tracking. Region-based trending, music tab, Media3 ExoPlayer, local history & favorites, dark Material 3 UI — and no live streams.

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Repository files navigation

⚡ SparkTube

A lightweight, fully anonymous YouTube client for Android — built with Kotlin & NewPipeExtractor.

No Google account. No API keys. No tracking. No live streams.


Total Downloads Latest Release Visitors Today


Kotlin Android Material 3 Gradle JDK 17

GitHub stars GitHub forks GitHub issues Last commit Repo size PRs Welcome License

Download • Features • Screenshots • Getting Started • Tech Stack • Contributing


📑 Table of Contents


📖 About

SparkTube is a lightweight YouTube client for Android, written in Kotlin and powered by NewPipeExtractor — the same extraction library behind the NewPipe project.

It is designed to be fully anonymous: there is no Google account login, no API key requirement, and no analytics or tracking of any kind. On first launch, SparkTube asks for your country / region and then tailors trending video suggestions to that region.

SparkTube also intentionally never shows live streams — not in the home feed, not in search results, and not in the player — keeping the experience focused purely on on-demand videos.


✨ Features

Feature Description
🌍 Region selection Choose your country/region on first launch via a searchable list; change it any time later
🧭 Floating bottom navigation Clean, modern floating bar with Home / Music / Library / Menu
🏠 Home feed Trending videos for your selected region
🎵 Music tab Trending music plus genre chips — Pop, Hip-Hop, Bollywood, Bangla, Rock, EDM, Lofi and more
🔍 Video search Fast search with live streams always filtered out
▶️ Built-in player Powered by Media3 / ExoPlayer with PlayerView
🕘 Watch history Stored locally on your device
⭐ Favorites Save videos locally — nothing leaves your phone
🌙 Dark Material 3 UI Modern dark theme built on Material Design 3
🔒 Anonymous by design No account, no API keys, no tracking
🚫 No live streams Filtered out of the feed, search, and player

📸 Screenshots

Home Music Search Player
Home screen Music screen Search screen Player screen
Library Region Picker Menu
Library screen Region picker Menu screen

🛠 Tech Stack

Kotlin NewPipeExtractor OkHttp Media3 Coil Material 3 JitPack GitHub Actions

Layer Technology
Language Kotlin with Coroutines
Extraction NewPipeExtractor v0.26.5 (via JitPack)
Networking OkHttp (NewPipeExtractor Downloader implementation)
Playback Media3 ExoPlayer + PlayerView
Image loading Coil
UI ViewBinding, Material Design 3 (dark theme)
Build system Gradle (Kotlin DSL)
CI GitHub Actions

🗂 Project Structure

SparkTube/
├── .github/
│   └── workflows/        # CI pipeline — builds a debug APK on every push
├── app/                  # Android application module (Kotlin source, resources, manifest)
├── gradle/
│   └── wrapper/          # Gradle wrapper files
├── .gitattributes
├── .gitignore
├── build.gradle.kts      # Root build configuration
├── settings.gradle.kts   # Project & module settings
├── gradle.properties     # Gradle / Android build properties
├── gradlew               # Gradle wrapper (Unix)
├── gradlew.bat           # Gradle wrapper (Windows)
└── README.md

📥 Download

Get the latest pre-built APK straight from the Releases page — no build required.

Download Latest APK

Total Downloads Latest Release Downloads Version Release Date

Installation steps

  1. Open the latest release.
  2. Under Assets, download the .apk file.
  3. On your Android device, allow Install unknown apps for your browser or file manager.
  4. Open the downloaded APK and tap Install.

🚀 Getting Started

Prerequisites

Requirement Version
Android Studio Latest stable release (recommended)
JDK 17
Android SDK Installed via Android Studio's SDK Manager
Git Any recent version

Clone & Build

# 1. Clone the repository
git clone https://github.com/devfahim00/SparkTube.git
cd SparkTube

# 2. Build a debug APK (Linux / macOS)
./gradlew assembleDebug

# ...or on Windows
gradlew.bat assembleDebug

The generated APK will be located at:

app/build/outputs/apk/debug/

Using Android Studio

  1. Open Android Studio → File → Open and select the SparkTube folder.
  2. Wait for the Gradle sync to complete (make sure the Gradle JDK is set to 17).
  3. Connect a device or start an emulator.
  4. Press Run ▶️.

🔐 Privacy

SparkTube is built with privacy as a core principle:

  • ✅ No Google account required or supported
  • ✅ No API keys — data is fetched through NewPipeExtractor
  • ✅ No analytics or tracking libraries
  • ✅ Local-only storage — watch history and favorites never leave your device
  • ✅ Region is just a preference — used only to tailor trending results
  • ✅ On-device crash logs — if SparkTube crashes, a plain-text report is saved to the SparkTube folder on your device (no Firebase, nothing is uploaded anywhere). View, share, or delete them anytime from Settings → Crash logs

🗺 Roadmap

Ideas under consideration — feel free to open an issue to discuss or vote on them.

  • Playlists support
  • Subscriptions (local, account-free)
  • Video quality & playback speed controls
  • Picture-in-Picture mode
  • Background audio playback
  • Light theme / dynamic color
  • Localization (including Bangla 🇧🇩)
  • Release APKs with signed builds

🧯 Troubleshooting

Gradle sync fails or dependencies can't be resolved

NewPipeExtractor is fetched from JitPack. Make sure the JitPack repository is available in your Gradle configuration and that you have a working internet connection. Try File → Invalidate Caches / Restart in Android Studio.

Build error related to Java version

SparkTube requires JDK 17. In Android Studio go to Settings → Build, Execution, Deployment → Build Tools → Gradle and set Gradle JDK to 17.

Videos fail to load or search returns nothing

Extraction can break when YouTube changes its internals. Check whether a newer NewPipeExtractor release is available, update the dependency version, and rebuild. Also confirm that your device has internet access.


❓ FAQ

Do I need a Google account or an API key?

No. SparkTube is completely anonymous and uses NewPipeExtractor instead of the official YouTube API.

Why don't I see any live streams?

This is intentional. Live streams are filtered out of the home feed, search results, and the player.

Can I change my region after the first launch?

Yes. The region can be changed later from within the app.

Where is my history and favorites data stored?

Only on your device. Nothing is uploaded or synced anywhere.

Is SparkTube affiliated with YouTube, Google, or NewPipe?

No. SparkTube is an independent project. See the Disclaimer.


🤝 Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the repository
  2. Create your feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m "feat: add amazing feature"
  4. Push to your branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Please keep code style consistent with the existing Kotlin codebase, and make sure ./gradlew assembleDebug passes before submitting.

Found a bug? Open an issue with steps to reproduce, your device model, and Android version.


⚠️ Disclaimer

This project is for educational purposes only. SparkTube is not affiliated with, endorsed by, or connected to YouTube or Google in any way. All trademarks and brand names belong to their respective owners. Please respect the YouTube Terms of Service when using this software. The developer is not responsible for any misuse of this project.


📄 License

Distributed under the GPLv3. See the LICENSE file for more information.


🙏 Credits & Acknowledgements


📬 Contact

Fahim — Developer

GitHub Telegram

Project Link: https://github.com/devfahim00/SparkTube


If you like SparkTube, please consider giving it a ⭐ — it really helps!

Made with ❤️ in Bangladesh 🇧🇩

About

Lightweight, fully anonymous YouTube client for Android built with Kotlin & NewPipeExtractor. No Google account, no API keys, no tracking. Region-based trending, music tab, Media3 ExoPlayer, local history & favorites, dark Material 3 UI — and no live streams.

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages