About this project

Flow is an open-source Android application for browsing, playing, and organizing YouTube and YouTube Music content. It requires Android 8.0 or later and is distributed under GPLv3, with stable APKs available through GitHub releases, Obtainium, and IzzyOnDroid, plus separate nightly/debug builds. The video player uses ExoPlayer/Media3 and supports multiple resolutions, background audio, picture-in-picture, casting, playback speed control, chapters, gesture controls, customizable subtitles, resumable playback, and downloads in VP9, AV1, and other formats. It also integrates SponsorBlock, DeArrow, and Return YouTube Dislike. A dedicated music area fetches tracks from YouTube Music and offers album art, audio visualizations, queue management, shuffle and repeat controls, a persistent mini player, and synchronized lyrics. The library section provides local watch history, favorites, custom playlists, a Shorts feed with bookmarking, a continue-watching shelf, and subscription management with cached feeds. Users can import subscriptions and history from NewPipe. FlowNeuro is the project's local recommendation system. It analyzes watching, skipping, likes, dislikes, searches, and watch duration on the device, and uses time-based patterns and engagement signals to vary recommendations. The app includes a transparency dashboard showing why items were recommended, along with export and import controls for the recommendation profile. All app data remains local, and no Google account, ads, analytics, or tracking are required. The interface includes 11 themes and is built entirely with Jetpack Compose and Material 3. The project credits NewPipeExtractor, NewPipe, PipePipe, MetroList, LibreTube, ExoPlayer, and other upstream projects for extraction, playback, and design inspiration.