05Case study
TubeNative
Mobile app · Media · Source-code product
A Material 3 Flutter media client for Android with offline downloads, picture-in-picture and background audio — packaged and licensed to developers as a complete source-code product.

TubeNative is an unofficial Android client for YouTube content built entirely in Flutter — search, playback with quality and speed controls, audio-only mode, picture-in-picture, background audio and offline downloads. It is not affiliated with YouTube or Google.
The problem
Developers who want to learn production media-app patterns in Flutter rarely get to see a complete, structured codebase — player state, downloads, persistence and platform integration working together.
My role
Solo developer — app architecture and implementation, plus packaging it as a product: documentation, licence, disclaimer, tests and a release checklist.
Technical approach
- Riverpod for state, GoRouter for navigation and Hive for history, favourites and download metadata.
- media_kit for playback, with background audio and Android picture-in-picture.
- Material 3 theming with persistent playback preferences (speed, quality, resume position).
Engineering decisions
A codebase as the product
Selling source code means the structure, naming and docs are the user experience. It's distributed as a one-time licence through my NativeStack storefront.
Status
Available as a one-time source-code licence via NativeStack. Screenshots show third-party video thumbnails for illustration only.



