Inspiration
I love cooking, and I like trying recipes I find on YouTube and cooking websites. If I like a recipe, I save it on YouTube, in my Notes app, or bookmark it.
However, since I cannot save them in a single place, it is hard to find them later or categorize them. The worst part? Every time I reopen a recipe, I need to watch ads, accept cookies, reject newsletters, and close useless chatbots. Often, websites are not optimized for mobile either.
I am done with that.
What it does
ChefExtract does three things:
- converts a URL or a picture into a recipe and saves it in a private list of recipes on my device,
- creates a vegan recipe based on a recipe I saved,
- allows me to add the ingredients to my favorite delivery app.
Gemini 3 powers all of them.
How we built it
First of all, I started from a personal problem, which became the core functionality of the app: saving a recipe I found online on my phone. I used Google AI Studio for the first MVP because it works well and it is fast. Furthermore, the Gemini integration is super smooth!
I am using the YouTube API for URLs that point to YouTube. Otherwise, the Gemini API takes care of it. Another use of Gemini 3 is parsing ingredient strings into a format that can be encoded and used to open the ingredient's page on the selected delivery app (I also tried parsing libraries, but the result wasn't good enough).
Eventually, I wanted more flexibility, so I moved into Antigravity. I connected the app to GCP to use multiple services in the same ecosystem: APIs, hosting, Cloud functions to handle API services and avoid exposing keys. For this MVP, I intentionally left aside a full backend and authentication. On GCP, I set up hard limits (per user and overall) and alerts to mitigate misuse.
Challenges we ran into
Unfortunately, it seems food delivery platforms don't allow adding ingredients to users' "shopping carts" through API. So we cannot do that for users. However, thanks to Gemini 3, we can use a workaround so that when users click on an ingredient, they land on that ingredient's page on their preferred delivery platform.
Accomplishments that we're proud of
I am very proud of the time I spend on GCP in general (instead of using Firebase that I know better but is less used in enterprises). I have a better understanding of the services, the logic, etc. This will be very useful in every future project.
I am also proud of the workaround I found to get users to land on the ingredient's page of their preferred food delivery app.
What we learned
Google AI Studio, Google Cloud Functions, the logic of setting up projects and assigning them to a billing org to get the Gemini 3 API to work in GCP. YouTube API. Using different Gemini models based on the needs and ROI. For example, we allow creating a small thumbnail image for recipes. The image is small and provides limited value. Using gemini-2.5-flash-image is enough.
What's next for ChefExtract
- Swap ingredients to take into account food restrictions or diets (low-carbs, keto, high protein, etc.)
- Better handle taking pictures and uploading files. Currently, users can take pictures when using the responsive app on mobile but they can only upload photos on a PC. They should have both options at any time.
- Create recipes from ingredients I have in the fridge
- Make it more interactive, e.g. users could get a random recipe from a database, or we could propose weekly new recipes based on the saved recipes.
- Polish some UX/UI patterns
- Create ChefExtract mobile app
- Improve extraction from other sources like Instagram and TikTok
- Add categories
Built With
- aistudio
- antigravity
- gcp
- gemini
- generative-language-api
- youtube-data-api-v3
Log in or sign up for Devpost to join the conversation.