A free, open-source Android app that lets parents whitelist specific YouTube channels, videos, and playlists. Kids only see what's approved — nothing else.
- Parent Mode — Browse YouTube freely, add channels/videos/playlists to your kid's whitelist
- Kid Mode — Kids only see whitelisted content in a clean, distraction-free interface
- PIN Protection — Parent mode is locked behind a secure PIN
- Multiple Profiles — Create separate whitelists for each child
- Daily Time Limits — Set per-profile daily watch time limits
- Sleep Mode — Timer-based playback with gradual volume fade-out for bedtime
- Watch Statistics — Track daily, weekly, and monthly watch time per profile
- Kiosk Mode — Screen pinning keeps kids inside the app
- Export / Import — Backup and restore profiles and whitelists as JSON
- Search — Kids can search within their whitelisted content
- Playlist Support — Whitelist entire playlists with automatic video listing
- 100% Client-Side — No backend server, your data stays on your device
- No Ads, No Tracking — Completely free and open source
- Android Studio (or JDK 17 + Android SDK)
- A YouTube Data API v3 key from Google Cloud Console
-
Clone the repository:
git clone https://github.com/degipe/YouTubeWhitelist.git cd YouTubeWhitelist -
Create
local.propertiesin the project root (if not already present) and add your YouTube API key:YOUTUBE_API_KEY=your_api_key_here -
Build the project:
./gradlew assembleDebug
For detailed Google Cloud Console setup instructions (OAuth client, API key restrictions), see GOOGLE_SETUP.md.
- Kotlin + Jetpack Compose
- Material Design 3
- MVVM + Clean Architecture (multi-module)
- Hilt (DI), Room (database), Retrofit (network)
- YouTube Data API v3 + IFrame Player API
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
If you find this app useful, consider supporting its development: