● Ship
Deployment.
Store builds and the console online.
Build the app for Google Play and the App Store; put the console on any Node host if you use it.
01Google Play
Windows
The commands below are for a macOS or Linux terminal. On Windows use PowerShell or Git Bash (WSL also works); flutter, npm and keytool work the same. iOS builds need a Mac.
cd app
flutter build appbundle --release --target-platform android-arm64 --dart-define=API_BASE_URL=https://your-console.example.com
Upload build/app/outputs/bundle/release/app-release.aab. Leave out API_BASE_URL to use only the bundled config. The app is arm64-only: always pass --target-platform android-arm64 (Flutter otherwise adds 32-bit and x86 libraries without the AI engine). arm64 covers current Play-certified phones.
02App Store
cd app
flutter build ipa --release --dart-define=API_BASE_URL=https://your-console.example.com
Open the archive in Xcode Organizer and upload. Fill the App Privacy form from Privacy. The microphone, camera, photo library and Face ID texts are in ios/Runner/Info.plist.
03The console
- Any host that runs Node 22 or Docker: a small VPS, Render, Fly.io, Railway, Cloud Run.
- One instance with SQLite needs a persistent disk for
admin/data/; several instances or a serverless host need Postgres (DATABASE_URL). - Serve it over HTTPS; the app refuses plain HTTP except to the local machine.
- Back up
ADMIN_SECRET_KEYand the data folder or database.