Founder dev log
Liquid Speech: opening up native Apple transcription for Flutter
Justin published Liquid Speech, an MIT-licensed Flutter package for using Apple's native SpeechAnalyzer API on iOS and macOS while still compiling cleanly on older OS versions.
- Filed
- Author
- Justin Mitchell
- Read
- 1 min
- Updated
I published Liquid Speech because we needed a clean Flutter bridge to Apple's native SpeechAnalyzer API without pretending every user would already be on the newest OS.
The package is small on purpose. It gives Flutter apps a SpeechAnalyzerService, streams raw transcript updates while someone is speaking, and exposes an isAvailable() check so apps can decide at runtime whether to use Apple's SpeechAnalyzer path or fall back to another transcription route.
That compatibility detail mattered. Liquid Speech compiles for iOS 14+ and macOS 11+, but the native SpeechAnalyzer work only functions on iOS 26+ and macOS 26+. So the package does not ask app teams to split their codebase with conditional imports. Add it, check availability, and keep a fallback path for older devices.
The public package is on pub.dev as liquid_speech. As of May 27, 2026, pub.dev lists 0.1.1 as the latest stable version, with 0.1.0 still available in the version history.
What it opens up
For Cleft and Amber, the interesting part is not only transcription. It is the shape of the integration:
- Native audio capture stays close to Apple's platform primitives.
- Flutter gets a small Dart API instead of a pile of app-specific bridge code.
- Older OS versions can stay supported without hiding the new native path.
- The package is MIT licensed, public, and useful outside our apps.
That is the kind of open-source work we want the dev log to hold: concrete product pressure, a platform constraint, and a small piece of infrastructure that becomes more useful when it leaves the private repo.
