Mobile version of FLACidal. Download FLAC from Tidal & Qobuz directly to your smartphone. Same Go core shared via FFI, native Flutter interface.
Context
Once desktop FLACidal was working, the question was: how to share the same Go backend without rewriting everything? The answer: compile the core into a shared library and call it via FFI from Flutter.
My contribution
- FLAC download from Tidal and Qobuz
- Native Flutter interface for Android & iOS
- Shared Go core via FFI — zero logic duplication
- Go ↔ Flutter communication via JSON-RPC
- Same download engine as the desktop version
// technical challenge
The FFI layer between Go and Flutter is the trickiest part: JSON-RPC serialisation, thread management, and cross-platform compilation of a Go lib to .so (Android) and .a (iOS).