Offline-first Flutter app for bowling video analysis. The full pipeline runs on-device:
- record a roll directly inside the app or choose a saved video
- extract frames locally with
ffmpeg_kit_flutter_new - run object detection locally with the bundled
assets/models/new_data_best.tflite - render the ball path and pin-fall timeline without any backend or laptop connection
- no runtime API calls
- no Python backend
- no internet permission in the main Android app manifest
- no network entitlement in the macOS debug/profile sandbox
- Open the app on the device.
- Tap
Record Videoto capture a new clip, orChoose From Galleryfor an existing one. - Wait for frame extraction and local inference to finish.
- Review the overlay, standing pins count, and pin-fall timeline.
android/app/src/debug/AndroidManifest.xmlandandroid/app/src/profile/AndroidManifest.xmlstill keep the Flutter development internet permission used byflutter run. That is for development tooling only, not the release runtime path.- If
flutteris not available in your terminal, add the Flutter SDK toPATHbefore runningflutter pub get,flutter analyze, orflutter build.