How to use Gemini to build a pantry photo app
Giovanni Galloro built Pantry Pal with Gemini CLI, testing ingredient photos, correcting old SDK calls and adding multiple device uploads plus a container.
Suggested prompt
Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.
Build [ingredient-photo prototype] with [backend and frontend]. Test using representative images, then support multiple direct device uploads. Follow [current SDK style guide], investigate failures and provide a container configuration. Let me test the phone experience before treating the prototype as complete.
Reach people exploring AI agents
See placements →What happened
Working app with GitHub source and container configuration.
Reported by Giovanni Galloro on BlogHow the agent did it
- CLI scaffolded Flask/Bootstrap and tested using web food images.
- Iterated fixes until locally working.
- Author requested multiple device uploads after inspecting URL-only prototype.
Where a person stepped in
Author tested locally and on phone, requested upload changes, supplied current SDK guide.
Giovanni Galloro used Gemini CLI to build Pantry Pal, a prototype that turns ingredient photos into recipe suggestions. His initial request specified a Flask backend, a Bootstrap interface and local testing with images fetched from the web. The agent scaffolded the project, ran tests, encountered problems and iterated until the app worked locally.
Galloro then inspected the result and found that the interface expected image URLs. He requested multiple pictures uploaded directly from a device, including a phone. Gemini changed the file input and updated the backend to process several uploaded files. Further phone testing led to an image-source attribute that made camera and gallery selection more intuitive.
The agent also generated a Dockerfile and Gunicorn configuration for a Cloud Run deployment path. Galloro supplied a current Gen AI SDK style guide through GEMINI.md. That context helped the agent correct an obsolete client-initialization call when it encountered an AttributeError.
The public repository contains the prototype. Its recipe generation uses a single API call; the autonomous iteration described here happened during development, not through a planning agent at mealtime.
Prompt
Suggested prompt (written by Agents In Use, not the author's)
Source: Blog · Giovanni Galloro
Frequently asked questions
What did human testing change?
Galloro requested multiple direct device uploads after finding the initial interface used image URLs, then refined camera/gallery access through phone testing.
How was outdated SDK code corrected?
A current SDK style guide referenced from GEMINI.md helped Gemini replace obsolete initialization code after an AttributeError.
Is recipe generation itself an autonomous workflow?
The prototype makes a single recipe-generation API call. The agent workflow in this account is Gemini CLI building, testing and revising the application.
More details
Remaining steps
- Agent added Docker/Gunicorn and mobile image-source improvements; SDK style guide corrected stale API usage.
About this account
Gemini CLI scaffolded the app, tested web images, iterated on failures and revised uploads and container configuration after human testing.
Primary first-person account opened and checked on 2026-10-14. Basic demo; no saved recipes/auth; runtime recipe generation is single-shot API, while build uses CLI agent. Outcomes and test claims are attributed to the source and were not independently reproduced. Prompt is suggested by Agents In Use, not the author's quoted prompt.
Credit: Giovanni Galloro on Blog
Source published 13 Oct 2025
Source checked 14 Oct 2026
Tools and topics
Gemini CLI · Google Gen AI SDK · Python · Flask · Bootstrap · Docker · Gunicorn
Recipe prototype · Image uploads · SDK guidance
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.