Flutter app for metabolic fueling guidance.
- Connect the iPhone by USB and unlock it.
- On the iPhone, trust this Mac if iOS asks.
- Open
ios/Runner.xcworkspacein Xcode. - In Xcode, select the
Runnertarget, then set Signing & Capabilities > Team to your Apple ID team. - Keep the bundle identifier as
com.cjquan.fuelwindow, or change it to another unique reverse-DNS id if Xcode says it is unavailable. - Back in this folder, run:
flutter pub get
flutter devices
flutter run -d <your-iphone-device-id>If the app installs but does not open, check the iPhone under Settings > General > VPN & Device Management and trust the developer certificate for your Apple ID.
The iPhone app sends the captured label image to the food-parser Supabase Edge Function. No separate OCR API is required: the edge function uses Gemini vision to read the label and structured JSON output to return the nutrition object the app expects.
Set the Gemini key as a Supabase secret, not in the Flutter .env file:
supabase secrets set GEMINI_API_KEY=your-gemini-key
supabase functions deploy food-parser --no-verify-jwtThen make sure the Flutter .env points at the deployed function:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key-here
FOOD_PARSER_URL=https://your-project.supabase.co/functions/v1/food-parserGemini image input supports JPEG, PNG, WEBP, HEIC, and HEIF, so iPhone camera photos should work directly.