An offline AI app has an awkward boundary if the model stays on your phone but your spoken input still goes to a server.
In (Does He Love Me?), my Chinese-language iOS app, both steps run locally: SenseVoice handles Chinese speech transcription, and Laya runs through Core ML to compare candidate answers. The interaction is hold to speak, release to send. History stays on the phone too.
That choice keeps personal relationship context on-device, but it also makes model storage part of the product experience. Bundling models means a larger initial download; downloading them later adds a setup step before the app is ready offline. The current app uses the bundled approach.
For other mobile builders: would you keep speech bundled from day one, make it an optional download, or start with text input? What would make that choice clear to users without turning onboarding into a technical checklist?