A sleek, modern desktop client for ListenBrainz built with Rust and QML / Kirigami.
Flowbbler allows you to seamlessly explore your music listening habits, view your top charts (albums, artists, genres), and track your listens in real-time with a fast, lightweight native interface.
- Personal Dashboard: View your latest listens and listening statistics.
- Top Charts: Explore your top albums, artists, and favorite genres over custom time frames.
- ListenBrainz Integration: Secure login using your ListenBrainz token.
- Native Performance: Powered by a robust Rust backend and a smooth QtQuick/Kirigami frontend.
- Local Caching: Fast loading times thanks to an optimized local caching layer.
Here is a glimpse of the application interface:
flowbbler/
├── qml/ # Frontend User Interface (QML/Kirigami)
│ ├── components/ # Reusable UI elements
│ │ ├── ArtistCard.qml
│ │ ├── CoverImage.qml
│ │ ├── LoadingSpinner.qml
│ │ ├── StatCard.qml
│ │ └── TrackCard.qml
│ ├── pages/ # Main application views
│ │ ├── AlbumsPage.qml
│ │ ├── ArtistsPage.qml
│ │ ├── GenresPage.qml
│ │ ├── HomePage.qml
│ │ └── LoginPage.qml
│ └── main.qml # Application entry point window
├── screenshot/ # Visual documentation & previews
│ ├── home.png
│ ├── login.png
│ └── topalbuns.png
├── src/ # Backend Logic (Rust)
│ ├── api/ # ListenBrainz API integration wrappers
│ │ ├── albums.rs
│ │ ├── artists.rs
│ │ ├── listens.rs
│ │ ├── mod.rs
│ │ └── stats.rs
│ ├── cache/ # Local storage and state management
│ │ ├── mod.rs
│ │ └── store.rs
│ ├── main.rs # Core initialization & QML bindings
│ └── resources.qrc # Qt Resource compilation manifest
├── build.rs # Custom build script configurations
├── Cargo.toml # Rust dependencies and package metadata
└── README.md # Project documentation
Before compiling the project, ensure you have the following dependencies installed on your system:
- Rust: Install via
rustup(stable toolchain recommended). - Qt 5 / Qt 6: Required for the QML frontend rendering engine.
- KDE Kirigami: The UI framework component library.
sudo pacman -S kirigamisudo apt install qml-module-org-kde-kirigami2git clone https://github.com/yourusername/flowbbler.git
cd flowbblercargo build --releasecargo run --releaseTo fetch your personal data, you will need a ListenBrainz user token:
- Go to your ListenBrainz settings.
- Copy your unique profile token.
- Launch Flowbbler and paste your token into the Login screen.
Contributions are welcome!
- Fork the project
- Create your 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
This project is licensed under the MIT License — see the LICENSE file for details.


