A modern, feature-rich YouTube client for Android built with Jetpack Compose
- Development Status
- Features
- Architecture
- Getting Started
- Releasing
- Support & Donations
- Roadmap
- Contributing
- Acknowledgments
- License
- Contact & Support
- Troubleshooting
- Star History
Flow is currently under active development. Please note:
- π Some features may be incomplete or unstable
- π Still optimizing performance and user experience
- High-quality video playback with ExoPlayer
- Multiple quality options (Auto, 1080p, 720p, 480p, 360p)
- Fullscreen support with landscape mode
- Picture-in-Picture (PiP) mode
- Background playback
- Video chapters support
- Playback speed control (0.25x - 2x)
- Auto-play next video
- Gesture Controls: Left swipe for brightness, right swipe for volume
- Subtitles Support: SRT/VTT formats with animated display
- Subtitles Customization: Font size, color, background
- Enhanced Controls: Quality and subtitles badges at top
- Professional UI: Loading states, smooth animations, and visual feedback
- Dedicated music player with YouTube Music integration
- Enhanced UI with album art and visualizations
- Queue management (add, remove, reorder)
- Shuffle and repeat modes
- Persistent mini player across screens
- Lyrics display support
- Background audio playback
- Smart track loading from popular artists
- Fast and responsive search
- Search suggestions and auto-complete
- Trending videos by region
- Category-based browsing
- Search history management
- 11+ Beautiful Color Themes:
- Light (Default light mode)
- Dark (Standard dark mode)
- OLED Black (Pure black for AMOLED)
- Ocean Blue (Deep sea vibes)
- Forest Green (Nature-inspired)
- Sunset Orange (Warm tones)
- Purple Nebula (Cosmic purple)
- Midnight Black (Dark with cyan)
- Rose Gold (Elegant pink)
- Arctic Ice (Cool cyan)
- Crimson Red (Bold red)
- And more...
- Smooth theme transitions
- Persistent theme selection
- Modern Material Design 3
- Smooth animations and transitions
- Shimmer loading effects
- Bottom navigation with smooth transitions
- Swipe gestures support
- Pull-to-refresh
- Watch history tracking
- Favorites/Bookmarks
- Playlists creation and management
- Continue watching section
- Watch later queue
- Shorts Bookmarks
- Clear watch history
- Clear search history
- Export data backup
- Import data restore
- No Google account required
- No ads or tracking
Flow follows clean architecture principles with a modular, component-based structure built entirely with Jetpack Compose and Kotlin.
- Language: Kotlin 100%
- UI Framework: Jetpack Compose (Material Design 3)
- Architecture Pattern: MVVM (Model-View-ViewModel)
- Video Player: ExoPlayer (Media3)
- Data Extraction: NewPipeExtractor
- Async Operations: Kotlin Coroutines & StateFlow
- Local Storage: DataStore Preferences
- Image Loading: Coil
- Navigation: Jetpack Compose Navigation Components
The app is organized into clear, focused modules for maintainability and scalability
- Android Studio Hedgehog or later
- JDK 17+
- Android SDK 24+
-
Clone the repository
git clone https://github.com/A-EDev/Flow.git cd Flow -
Open in Android Studio
- Open Android Studio
- Select "Open an existing project"
- Navigate to the project directory
-
Sync Gradle
- Android Studio will automatically sync Gradle
- Wait for dependencies to download
-
Run the app
- Connect an Android device or start an emulator
- Click the "Run" button or press Shift+F10
Release instructions will be added soon.
If you find Flow useful and would like to support its development, you can donate via the following addresses:
- Bitcoin (BTC):
bc1qgkmtxvzvysmtpfazqfls93jw6k4gjx0xmrtvn8 - USDT:
0xFbac6f464fec7fe458e31897a142ba45b305b7e(Ethereum Network) - Ethereum (ETH):
0xFbac6f464fec7fe458e31897a142ba45b305b7e
Your support helps keep the project alive and motivates me to add more features!
-
YouTube Algorithm Integration
- Implement recommendation system
- Personalized home feed
- Related videos suggestions
- Watch history-based recommendations
- Trending videos integration
- Improve algorithm accuracy
- Implement Neural Engine that improves recommendations over time based on user behavior, it's privacy-focused and stores data locally.
- User controls for algorithm tuning (reset, feedback)
- Add interest metrics visualization for users to see their moods, interests and how they evolve over time. (Bubble chart, line graph, etc.)
-
Shorts Support
- Shorts feed UI
- Vertical swipe navigation
- Shorts player optimization
- Shorts creation date/view count
- Shorts bookmarking
- Shorts Gesture Controls: Double-tap to like, Press and hold to speed
-
Channel Screen
- Complete channel page layout
- Channel videos grid
- Channel playlists
- Channel Shorts
- Channel about section
- Subscribe functionality
-
Remove Placeholder Data
- Replace dummy trending data
- Remove mock search results
- Fix static playlist data
- Real-time data fetching everywhere
-
Notification System
- Push notifications setup
- New video notifications
- Download complete notifications
- Playback controls in notification.(Music)
- Notification settings
-
Download Manager
- Video download functionality
- Download queue management
- Quality selection for downloads
- Downloaded videos library
-
Comments System
- Display video comments
- Comment threads/replies
- Sort comments (top/newest)
- Comment engagement (likes display)
- Comment posting (future)
-
Social Features
- Share videos functionality
- Create shareable playlists
- Export watch statistics
- Follow favorite channels and artists
-
Search Enhancements
- Search filters (date, duration, quality)
- Advanced search operators
- Voice search support
-
Playback Features
- Resume playback from last position
- Watch together (sync viewing)
- Live stream support
- DVR controls for live streams
-
Accessibility
- Screen reader optimization
- High contrast mode
- Voice commands
-
Performance Optimization
- Implement pagination properly
- Optimize image loading
- Reduce memory usage
- Background task optimization
-
Testing
- Unit tests coverage (80%+)
- Integration tests
- UI tests with Compose Testing
- Performance benchmarks
-
Architecture
- Migrate to Hilt/Dagger for DI
- Implement Room for local database
- Add offline mode support
- Implement proper error handling
- Chromecast support
- Android TV version
- Tablet-optimized UI
- Wear OS companion app
- Community playlists
- Import YouTube subscriptions
- Sponsorblock integration
- Picture-in-Picture enhancements
We welcome contributions from everyone! Please read our Contributing Guidelines for detailed information on how to contribute to Flow.
- π Report bugs via Issues
- π‘ Suggest features or improvements
- π Improve documentation
- π Submit pull requests
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For more details, see CONTRIBUTING.md.
- NewPipeExtractor - Powerful library for YouTube data extraction
- MetroList - Inspiration for Hybrid InnerTube/NewPipeExtractor approach for Music fetching
- ExoPlayer - Professional-grade media player
- Jetpack Compose - Modern Android UI toolkit
- Material Design 3 - Beautiful design system by Google
Flow is Free Software: You can use, study share and improve it at your will. It is distributed under the GNU General Public License v3 (GPLv3).
Copyright (c) 2025-2026 A-EDev
π¨ For Developers: This license requires that any project using Flow's source code (including the
FlowNeuroEnginealgorithm) must also be Open Source under the GPLv3 license. You may not use this code in a proprietary or closed-source application.
- Developer: A-EDev
- GitHub: @A-EDev
- Issues: Report a bug
"App not installed" or "Package conflict" error
If you see an error like "Installing the new update has conflict of package may be due to...signing key", it means the signature of the new version doesn't match the one currently installed on your device.
Solution:
- Uninstall the existing version of the app.
- Install the new version.
Note: This will clear your app data (settings, history, etc.). We are working on a backup/restore feature to mitigate this in the future.
If you find this project useful, please consider giving it a star! π
Made with β€οΈ by A-EDev
