Floating Volume
A floating volume slider you can reach from any app — adjust the volume without leaving what you're doing.
Overview
The hardware volume keys are clumsy and the system panel gets in the way. Floating Volume puts a clean slider on top of everything, so a single drag sets the exact level you want — during a video, a call, a game, anything.
What I built
Sole developer and maintainer. A Flutter app with a native Android overlay: the Dart side owns the UI and state, and a Kotlin service renders the system-overlay slider and streams volume events back. The Dart↔Kotlin boundary is fully type-safe, generated with Pigeon instead of stringly-typed method channels. State is modelled with the BLoC pattern and immutable freezed unions.
Recent work: an adjustable slider-size setting with live overlay updates, density-independent
sizing so the control looks right on every screen, and a refreshed Material 3 home and
permissions flow. Builds are reproducible — a build.py + Docker pipeline with a
pinned Flutter version (FVM) that F-Droid verifies against source.
Built with
Languages
Framework
Architecture & libraries
Build & delivery
Features
Always-accessible slider
Floats over every app; drag to set the volume instantly.
Adjustable slider size
Size setting with live overlay updates as you change it.
Density-independent sizing
Looks right on every screen, from compact phones to tablets.
Modern Material 3 UI
Refreshed home and permission screens.
Built with Flutter
Smooth, consistent, and open for contributions.
Reproducible builds
Verified by F-Droid from source.
Free & open source
Floating Volume is licensed under the GPL-3.0. No ads, no tracking, no account. Issues and contributions are welcome on GitHub.