Inspiration

How many times have we opened the refrigerator, stared at the collection of foods, and still thought "What should I cook for today?" I wanted to turn that moment into an opportunity. Snapshot Chef was inspired by a simple idea: instead of asking people what to cook, why not let AI analyze the fridge and come up with the best meal plan? A user can simply take a photo of their refrigerator, and this app identifies the ingredients that are visibly available and make suggestions on what meal to cook. Beyond convenience, I also aimed to encourage the user to refrain from buying extra food items when they have left unused food at the edge of their fridge.

What it does

Snapshot Chef turns a refrigerator photo into a personalized meal suggestion. The process is intentionally designed to be simple:

  1. Take a photo of refrigerator.
  2. The AI connected with the backend of the app identifies the ingredients present.
  3. It generates a dish based on those ingredients.
  4. The user would receive a step-by-step guide on how to cook the dish.

One of my goals was to make users feel like they are flipping through a recipe book rather than interacting with AI.

How we built it

I built the frontend with Flutter / Dart so that the same application could be available for the web. The core intelligence comes from a multimodal AI model through Groq. The model receives the refrigerator image and analyzes its contents before generating a recipe.

Security was an important part of the app's architecture. Instead of placing the API key in publicly accessible Flutter application, I created a Cloudflare workers backend that acts as a secure intermediary. The backend stores the API key as a secret, while the frontend only communicates with it.

To undergo tests, I also deployed the application to the web which allows access from anyone who has the link to the project.

The Workflow User ↓ Flutter/ Dart Frontend ↓ Image -> Base64 ↓ Cloudflare Workers backend ↓ Groq API ↓ Multimodal AI Vision Analysis ↓ Ingredient Detection + Recipe Generation ↓ JSON response ↓ Flutter Frontend ↓ Recipe display

The Security Architecture Flutter App ↓ Image Cloudflare Worker ↓GROQ_API_KEY Groq API

Challenges we ran into

Throughout the course of the app development, I have encountered several issues including Flutter web compatibility, image handling, Cloudflare worker deployment, secret management and changing the AI model's response format. I had faced the biggest challenge when I have decided to store my API keys into my backend. Even though I had some experience in app development besides this, I was completely new to backend development, so I had to figure out things on my own. After completing the whole process, I became familiar that building an AI application is not only about putting the API endpoints somewhere in the code. I had to make sure all the aspects of the app such as the frontend, the backend, the AI service, the response types and gitignore are communicating perfectly.

Accomplishments that we're proud of

The fact that my simple idea of improving someone's daily habit had turned into a real, functional app makes me genuinely proud, and the possibility of what I could do with my skill fascinates me. Besides that, I'm also proud that I have obtained the knowledges on professional techniques such as -Cloudflare -CORS configuration -Image handlings on web.

What we learned

My biggest lesson was that coding is something beyond typing a myriad of code into the computer. App development has various aspects, and typing code is just one of them. It is equally important with planning, designing, security, idea. Another lesson is that an API call to AI service should be well-structured in order to achieve the desired response. For example, in my app, I have decided to let Groq respond in JSON format so that it is compatible with the format of my app's output for the users.

What's next for Snapshot Chef

Since this app is well-structured and also stable both in terms of budgets and security, I plan to publish this on either Google Play Store or Apple Store so that people around the globe could experience interaction with a chef in their mobile phones.

Built With

Share this project:

Updates

Submission history