-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New Feature: Food Search 2.0 for Loop! #2329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
A new AI-enabled food search capability for Loop. Loop has helped me become a better diabetic and I would love to give back to the community by contributing this new feature for Loop, which I believe will benefit all Loop users. PROBLEM WE'RE SOLVING: Diabetics often lack nutrition knowledge when estimating carb intake. And we need that knowledge when we’re making dosing decisions - this knowledge is the single most important tool we have to improve our Time in Range and A1C. Loop's Food Search feature uses barcodes and AI analysis to provide accurate nutrition information and advanced diabetes management recommendations. NEW FEATURE'S IMPACT: The Food Search system is a comprehensive food analysis and nutrition tracking solution integrated into Loop for improved diabetes management. It provides multiple search options including text, barcode scanning, voice, and AI-powered image analysis that produces comprehensive nutrition data and dosing suggestions via diabetic notes. This let's us enter a meal bolus with MUCH greater accuracy to improve Time in Range and A1C. The AI-enabled analysis engine can even read menus (in multiple languages) and provide guidance for dosing. Short video demo: https://youtu.be/L0LD8AxNX0Q Review the docs in “/Loop/Documentation/FoodSearch 2.0 Docs/” for comprehensive documentation for Loop's Food Search functionality, including AI-powered nutrition analysis and advanced diabetes management recommendations. API setup guides are provided so the user can enter their personal AI API keys to enable AI food analysis. This new PR (Food-Search 2.0) fixes compatibility bugs from the initial commit and adds Advanced AI Analysis including FPU analysis, and Dynamic Dosing recommendations. Requesting a review from the maintainers? @ps2, @marionbarker, @loudnate <I will post new screenshots here after submitting this PR>
Deleting older docs
To prevent breaking Live Activities customizations
Added xcodeproj/project.pbxproj to .gitignore fixed build errors caused by AbsorptionTimePickerRow function
- Red X delete buttons in Food Details so users can adjust what food items they plan to eat and not eat - Automatic nutriments total & absorption time recalculations when items are deleted
included accidentally so I'm removing it. should remain unchanged.
This reverts commit 6f6569f.
This change moves a change from /LoopKitUI senior directory down into the /LoopWorkSpace/Loop directory to keep everything under /Loop.
- Easy discovery: Users see the brain icon toggle when Food Search is disabled - Instant enablement: Toggle works immediately to show full Food Search UI - Consistent disabling: Settings changes (via gear icon) instantly update the UI - Responsive both ways: Works whether toggled from carb entry or settings
Split AI food analysis prompt into Standard and Advanced mode to increase performance when in Standard Mode. - Standard Mode: ~2,500 words (basic analysis only) - Advanced Mode: ~6,000+ words (includes FPU calculations, deeper food absorption details, exercise guidance, etc.) - Token Reduction: ~60% fewer tokens for Standard mode users What this means for users: - Standard mode users get faster AI analysis with streamlined prompts - Advanced mode users get comprehensive analysis when they need FPU calculations - The system automatically chooses the right prompt based on the Advanced Dosing setting
…om AI analysis Multi-Circle Nutriment Bug - Both food deletion and serving adjustments now work accurately and predictably.
1. Better Analysis Quality - GPT-5 provides improved accuracy for complex health related food analysis 2. Future-Proofed - Ready for GPT-5 when users have access 3. Cost-Effective Options - Users can choose between quality (GPT-5) and speed (GPT-4o-mini)
Preferred food search providers for best performance are set to: Text/Voice Search: USDA FoodData Central Barcode Search: OpenFoodFacts AI Image Analysis: OpenAI (ChatGPT API)
Code ReviewI made some modifications to Taylor's code, starting at 477ca57, as documented in this branch: See https://github.com/loopandlearn/Loop/commits/modify_for_pr2329
Additional changes will be required, but the functionality can be tested.
More changes are found in a different branch that is focused on the minimum changes to support adding this as a customization: https://github.com/loopandlearn/Loop/commits/prepare_for_customization_pr2329
TestTest with commit 542a304. This builds and appears to work. More testing will be needed. |
Update with new commitsWhen Taylor updates his branch, then I need to also update my two branches: In a local copy of Taylor's branch:
This keeps the 3 version in alignment. |
The fix maintains the existing StackNavigationViewStyle() while adding proper width constraints. This should resolve the issue where the "Add Carb Entry" screen appears too wide and cuts off content after using AI analysis.
This reverts commit a83d46d.
The fix maintains the existing StackNavigationViewStyle() while adding proper width constraints. This should resolve the issue where the "Add Carb Entry" screen appears too wide and cuts off content after using AI analysis. We also moved the Food Search enablement toggle and Food Search's section below Absorption Time row for a more logical flow. Confirmed that the FPU formula implementation is CORRECT and adheres to the standard. No changes are needed to the calculation formula. Minor tweak to AI prompt.
1. Perfected the Barcode window preview (white frame now bounds the scan window) 2. Perfected the cropping in AI picture capture (mis-cropped pics)
On 2025-08-27, push changes to update the ancillary branches in loopandlearn that support the ability to add this feature as a customization to Loop. These updates bring the feature up to the level of
|
1. bug-saving as favorite food does not actually save as favorite - Fixed 2. bug-math problem when calculating carbs for a portion using AI - Fixed
-Add thumbnail to favorite foods lists -Add Heart icon to action saving as Favorite Food -Add Estimated Confidence percent when using AI -When deleting food item show strikethrough font, add green plus, allow user to add itemback in
I will be taking the last 2 commits one at a time. As started earlier, I keep a parallel branch to handle building a customization from this PR.
First: it looks like your commit 5aeda3b, Bugfixes - Favorite Foods and math fix for Carb Entry, inadvertently removed updates from two prior commits. Please look at these commits:
I believe both of those changes were desired and they are included in the Customization patch at the current time. I was able to restore them using cherry-pick in my parallel branch, modify_for_pr2329.
The code built at this point (with just the first commit from your branch merged in). But when I pulled in the next commit and merged it then the code no longer built. The next commit, If I remove the thumbnail in this line: https://github.com/taylorpatterson-T1D/Loop.Food-Search/blob/5cbb5d3c/Loop/Views/FavoriteFoodsView.swift#L41, I am then able to build the code again. The error is:
This is with Xcode 16.4 building on macOS 15.6.1 building onto an iOS 18.6.2 phone. Before I started today, my parallel branch was at
After doing the merges from the PR branch, the cherry-pick to restore desired changes and removing the one parameter that prevented me from building, the branch is at:
This is buildable by people who use automatic signing (and do not have Taylor's apple developer ID). |
I tried to build it. I got the error message: No such module loopkit
Gesendet: Freitag, 29. August 2025 um 23:24
Von: "Marion Barker" ***@***.***>
An: LoopKit/Loop ***@***.***>
CC: Subscribed ***@***.***>
Betreff: Re: [LoopKit/Loop] New Feature: Food Search 2.0 for Loop! (PR #2329)
marionbarker left a comment (LoopKit/Loop#2329)
I will be taking the last 2 commits one at a time.
As started earlier, I keep a parallel branch to handle building a customization from this PR.
parallel branch is: https://github.com/loopandlearn/Loop/tree/modify_for_pr2329
my local clone name for the branch in this PR is taylor-try2-dev
First: it looks like your commit 5aeda3b, Bugfixes - Favorite Foods and math fix for Carb Entry, inadvertently removed updates from two prior commits.
Please look at these commits:
bfd1c9d Fix width bug and rearrange Add Carb Entry view
***@***.***
97bb8d0 Set search provider defaults to best ones at onboarding
***@***.***
I believe both of those changes were desired and they are included in the Customization patch at the current time.
I was able to restore them using cherry-pick in my parallel branch, modify_for_pr2329.
git cherry-pick bfd1c9d
git cherry-pick 97bb8d0
The code built at this point (with just the first commit from your branch merged in).
But when I pulled in the next commit and merged it then the code no longer built.
The next commit, 5cbb5d3, Multiple feature UI improvements, is not buildable when merged into my parallel branch, until I make one modification.
If I remove the thumbnail in this line: https://github.com/taylorpatterson-T1D/Loop.Food-Search/blob/5cbb5d3c/Loop/Views/FavoriteFoodsView.swift#L41, I am then able to build the code again.
The error is:
/Users/marion/Downloads/ManualClones/Loop_dev_updates/LoopWorkspace/Loop/Loop/Views/FavoriteFoodsView.swift:21:25 The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
This is with Xcode 16.4 building on macOS 15.6.1 building onto an iOS 18.6.2 phone.
Before I started today, this branch was at
commit 579d6ca, Merge branch 'taylor-try2-dev' into modify_for_pr2329, link
After doing the merges from the PR branch, the cherry-pick to restore desired changes and removing the one parameter that prevented me from building, the branch is at:
commit f7ec949, modify to enable building, link
This is buildable by people who do not have Taylor's apple developer ID.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
please use these instructions to add this as a customization to Loop. This PR is not suitable to be added to Loop as is. |
Introducing a new AI-enabled food search capability for Loop. Loop has helped me become a better diabetic and I would love to give back to the community by contributing this new feature for Loop, which I believe will benefit all Loop users.
PROBLEM WE'RE SOLVING: Diabetics often lack nutrition knowledge when estimating carb intake. And we need that knowledge when we’re making dosing decisions, especially when eating out at restaurants - this knowledge is the single most important tool we have to improve our Time in Range and A1C. Loop's Food Search feature uses barcodes and AI analysis to provide accurate nutrition information and advanced diabetes management recommendations.
NEW FEATURE'S IMPACT: The Food Search system is a comprehensive food analysis and nutrition tracing solution integrated into Loop for improved diabetes management. It provides multiple search options including text, barcode scanning, and AI-powered image analysis that produces comprehensive nutrition data and dosing suggestions via diabetic notes. With Food Search, we can enter a meal bolus with MUCH greater accuracy which should improve Time in Range and A1C. The AI-analysis engine can even read menus (in multiple languages) and provide guidance for dosing.
Short video demo: https://youtu.be/t7JxvkGcMfU
Review the docs in “/Loop/Documentation/FoodSearch 2.0 Docs/” for comprehensive documentation for Loop's Food Search functionality, including AI-powered nutrition analysis and advanced diabetes management recommendations. API setup guides are provided so the user can enter their personal AI API keys to enable AI food analysis.
This new PR (Food-Search 2.0) fixes compatibility bugs from the initial commit and adds Advanced AI Analysis including FPU analysis, and Dynamic Dosing recommendations.
Requesting a review from the maintainers? @ps2, @marionbarker, @loudnate
Feature is hidden behind a Feature Flag in Loop > Settings > Enable Food Search:

New Search for Food section on the Add Carb Entry view:

Simple text search:

Barcode scan search for high accuracy of packaged foods:

AI-enabled food image analysis engine in action:

AI-Analysis results with comprehensive analysis details including an item by item breakdown of the meal:

Even more detail about how Portions & Servings were calculated and Diabetic Notes to advise during dosing:

Advanced AI Analysis Mode for those who want to geek out on FPU and Advanced Dosing Recommendations:

Food Search Setup screen. Pick the AI service you prefer, enter your own API keys:
