Logo

Docs

Architecture

How the Vleer app is put together

Vleer is a native desktop app written in Rust with a GPU-rendered UI. It plays the music you already own, keeps an index of it in a local database, and uses a few small online services to clean up metadata, find lyrics and stay up to date. No account is required.

Components

Library

Vleer scans the folders in library.paths and keeps watching them for changes. Everything it learns is stored in a SQLite database (library.db) in the data directory. Your files are never modified.

Supported formats: FLAC, MP3, OGG Vorbis, Opus, AAC, WAV and more.

Each song is identified by a fingerprint of its audio data, not by its path or tags. Renaming, moving or retagging a file doesn't break favorites, playlists or play history.

Metadata

Tags in the wild are messy. After scanning, Vleer asks the OpenMusicMetadata API to identify each song, album and artist. The response is used to:

  • fix names
  • merge duplicate artists
  • fill in missing years and artwork

Matching is done by ISRC and UPC where tags have them, and by name otherwise. Results are cached locally and the original files stay untouched.

Playback

Audio is decoded and played locally, with loudness normalization from ReplayGain tags, a 10-band parametric equalizer and a spectrum visualizer. Playback is exposed to the operating system through the native media controls on Linux, macOS and Windows.

Lyrics

Vleer reads lyrics embedded in the file first and falls back to synced lyrics from LRCLIB.

Integrations

Updates

Vleer checks the Vleer API for new releases on the stable or nightly channel. Downloads are verified against a minisign signature before they are installed. On Linux only installs from the install script self-update; AppImage, AUR and Homebrew installs update through their own tooling.

Telemetry

Opt-in and off by default. When enabled, Vleer sends only its version, the operating system and the number of songs in your library, tied to a random UUID. See Telemetry.

Data Flow

  1. Scan - Vleer reads tags and audio fingerprints from your folders into library.db
  2. Identify - new songs, albums and artists are matched against OpenMusicMetadata
  3. Enrich - corrected names, merged artists, years and artwork are stored alongside your data
  4. Browse and play - the UI reads from the local database, so it stays fast and works offline
  5. Extras - lyrics, scrobbles and presence are fetched or sent while a song plays

Services

ServiceUsed forDocs
api.vleer.app/metadataSong, album and artist metadataOpenMusicMetadata
api.vleer.app/updateUpdate checksVleer API
api.vleer.app/downloadDownload redirects for the websiteVleer API
api.vleer.app/telemetryOpt-in usage statisticsVleer API
LRCLIBSynced lyrics
Last.fmScrobbling

Roadmap

Not final, and none of this is shipped yet:

  • Navidrome, Subsonic and OpenSubsonic support
  • Soulseek integration
  • Recommendations based on your listening habits

On this page