SpotiFLAC Mobile: a Flutter and Go client that pulls lossless FLAC through community extensions
Mobile music utility built with Flutter and Go. High-quality audio management for your personal library. - open source, no ads, no subscription.
At a glance
- What is it?
- SpotiFLAC Mobile is an open source Android and iOS app that downloads lossless audio from extension-provided sources into your own library. The extension repository is decentralized, so what you can download depends entirely on which sources you add.
- Who is it for?
- Adopt SpotiFLAC Mobile if you want an open source, ad-free client that writes lossless files to storage you control and you are willing to supply your own extension repository URL. Do not adopt it if you expect a built-in catalog of sources, guaranteed availability for every track, or a supported iOS distribution outside AltStore and SideStore.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Dart, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem: lossless downloads with no built-in source
Most mobile downloaders ship a fixed list of sources and break when one of them changes. SpotiFLAC Mobile takes the opposite position. The README describes a decentralized extension repository system introduced in version 3.8.0, where extensions are hosted independently rather than on a built-in server, and anyone can create and host a compatible repository. The app itself is a shell: a Flutter and Dart interface, a Go backend compiled with gomobile, and thin Android and iOS platform bridges, per the Development section. The audience is people who keep a personal audio library and want FLAC files written to their own storage rather than streamed from a subscription service. Two constraints come with that design. You must find a repository URL before the Store tab shows anything, and the quality you get is bounded by whichever extensions you install. The README states plainly that quality depends on what is available from the source and the installed download extension.
How the extension mechanism and provider priority fit together
The flow has four moving parts. The Store tab is the client for extension repositories. Each repository is a URL that serves installable extensions, and installation happens either with one tap from the Store or manually from a .spotiflac-ext file via Settings > Extensions. Once installed, extensions can be configured individually and ranked under Settings > Extensions > Provider Priority. That ranking is the routing table: when you submit a track, the app tries your enabled providers in the order you set, which is why the README's answer to a "Song not found" failure is to enable more providers or install additional download extensions. The stated reason for this architecture is update velocity. When a streaming service API changes or a new source appears, extensions can be updated independently of the app, so a broken source does not require waiting for a release. The cost is trust and discovery: the app cannot vouch for what a third-party repository serves.
Installing SpotiFLAC Mobile and running a first download
The README does not document a package manager install. Distribution described in the repository is through GitHub releases and, for iOS, through AltStore or SideStore using the official source file apps.json at the repository root. For AltStore and SideStore, the README gives the source URL to paste under Browse > Sources.
https://raw.githubusercontent.com/spotiflacapp/SpotiFLAC-Mobile/refs/heads/main/apps.jsonAfter installing, the app prompts for an extension repository URL on first launch in the Store tab. Enter the URL of a repository you trust, then browse and install extensions with one tap. If you prefer a file, download a .spotiflac-ext and install it from Settings > Extensions. Then set the order in which sources are tried.
Settings > Extensions > Provider PriorityBefore the first download, grant storage permission. On Android the README says to choose a folder with the system folder picker (SAF) or use the app-specific folder, because the app needs a writable destination. To download a playlist, paste the playlist URL into the search bar; the README states the app fetches all tracks and queues them for download. Expect the first run to produce either a queued download or a "Song not found" message if none of your enabled providers carry the track.
Where it breaks: source availability, permissions and region blocks
The failure modes are documented rather than hidden, which is useful but also tells you how often they occur. Three stand out. First, a track may simply not exist across your enabled providers, which produces "Song not found"; the fix is enabling more providers or installing more download extensions, and there is no guarantee either helps. Second, quality is not a setting you control directly. It depends on the source and the extension, and the README directs you to each extension's quality options and service notes rather than promising a fixed bit depth. Third, Android can revoke a saved folder grant, in which case you must select the folder again in Settings. Region is a fourth: the README notes that some countries restrict access to certain streaming service APIs and suggests a VPN as a workaround, which is a real operational dependency, not a bug fix. If you need deterministic, always-available downloads of a specific catalog, this is the wrong tool. It is a client for sources you supply, and it inherits every gap in them.
Compared with the desktop SpotiFLAC and the Python module
The README links two sibling projects, and the split is by platform rather than by capability. SpotiFLAC (Desktop) downloads music in true lossless FLAC from extension-provided sources on Windows, macOS and Linux. SpotiFLAC (Python Module) is a Python library for SpotiFLAC integration maintained by a separate contributor. The difference that matters for a decision is where the files land and who maintains the surface. The desktop build targets a machine with a normal filesystem and no mobile permission model, so the SAF grant problem described in the mobile FAQ does not apply. The Python module is a library, meaning you write the calling code and own the scheduling; it is the right choice if you are building a pipeline rather than tapping through a UI. The mobile app's distinct value is the Flutter UI plus the gomobile-compiled Go backend on a phone, which is also where its constraints are tightest.
Maintenance cadence, licence and what upgrades cost you
The last push to the default branch was on 2026-09-20, and the recent release list shows v4.9.6 on 2026-09-07, v4.9.5 on 2026-09-01 and v4.9.0 on 2026-08-24. The project is not archived. That release rhythm matters for upgrade cost in a specific way: because the extension system exists so that sources can be updated without app releases, a new app version is not usually the thing that fixes a broken download. Reinstalling or reordering extensions under Provider Priority is. Toolchain versions are pinned in .fvmrc, go_backend/go.mod and the GitHub Actions workflows, so building from source means matching those pins rather than picking your own Flutter and Go versions. The licence is MIT, which permits reuse and redistribution with the warranty disclaimer intact; the README's disclaimer states the software is provided "as-is" and that no copyrighted content is hosted or distributed by the repository. What that does not settle is your own authorization to download particular tracks, which the disclaimer leaves to the user. That is a question for your jurisdiction, not for the licence text.
Editorial conclusion
Adopt SpotiFLAC Mobile if you want an open source, ad-free client that writes lossless files to storage you control and you are willing to supply your own extension repository URL. Do not adopt it if you expect a built-in catalog of sources, guaranteed availability for every track, or a supported iOS distribution outside AltStore and SideStore. Before relying on it, verify three things: that the repository URL you intend to use actually serves compatible extensions, that your chosen download folder survives Android's permission grants, and that the quality options offered by each installed extension match what you need. The README's own troubleshooting path for a failed download is to enable more providers under Settings > Extensions > Provider Priority, which is the first thing to try when a track returns "Song not found".
Frequently asked questions
How does SpotiFLAC Mobile work?
It combines a Flutter and Dart interface with a Go backend compiled using gomobile and thin Android and iOS platform bridges. Downloads come from extensions installed from a repository URL you enter in the Store tab, and the app tries them in the order set under Settings > Extensions > Provider Priority.
How do I set up SpotiFLAC Mobile on my Android device?
Install the app, then open the Store tab and enter an extension repository URL when prompted on first launch. Grant storage permission by choosing a folder with the system folder picker (SAF) or using the app-specific folder, since the app needs a writable destination for downloaded files.
How do I download with SpotiFLAC Mobile?
Paste a track or playlist URL into the search bar. The README states that for a playlist the app fetches all tracks and queues them for download. If a track returns "Song not found", enable more providers under Settings > Extensions > Provider Priority or install additional download extensions.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/spotiflacapp-spotiflac-mobile)