DEV Community

Cover image for PantryPal AI: Your Kitchen Remembers, So You Don't Have To
Aashish Dhanawat
Aashish Dhanawat

Posted on AI-assisted

PantryPal AI: Your Kitchen Remembers, So You Don't Have To

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend.

What I Built

I built PantryPal AI, a smart kitchen companion designed for a friend who cooks for herself.

The idea came from a simple everyday problem: when you cook regularly, it becomes surprisingly difficult to remember everything in your kitchen.

What ingredients do I still have?

How much rice is left?

What is about to expire?

What can I cook without buying more groceries?

What should I add to my shopping list?

I wanted to build something that could act like a memory for the kitchen.

That became PantryPal AI. ๐Ÿฅ˜

The core idea behind the project is:

AI suggests. User confirms. Database remembers.

Instead of building another recipe chatbot, PantryPal combines AI with structured pantry data. Gemma handles the flexible, language-based tasks while Python and SQLite handle the things that need to be predictable and accurate.

๐Ÿ“ฆ Smart Pantry

Users can add ingredients along with:

  • Quantity
  • Unit
  • Category
  • Low-stock threshold
  • Expiry date

PantryPal keeps track of what is available, what is running low, and what should be used soon.

๐Ÿค– What Can I Cook?

Users can ask PantryPal for meal ideas based on what is actually available in their pantry.

They can choose:

  • Breakfast, lunch, dinner, snack, or anything
  • Number of servings
  • Cooking preference
  • Whether to prioritize ingredients that may expire soon

Gemma then uses the pantry as context to generate relevant meal ideas.

๐Ÿฝ๏ธ I Made Something

Not every meal comes from a saved recipe.

A user can simply tell PantryPal what they cooked, for example:

I made potato and tomato curry.

Gemma estimates which pantry ingredients may have been used.

However, I intentionally do not allow the AI to immediately modify inventory.

PantryPal first shows the estimate to the user. They can review it, change quantities, add or remove ingredients, and then confirm it.

Only after confirmation does PantryPal update the pantry.

๐Ÿ“– My Recipes

Users can also save their own recipes with exact ingredient quantities.

When they cook a saved recipe, PantryPal checks whether the required ingredients are available and updates the pantry after confirmation.

I also added automatic unit conversion between:

kg โ†” g and L โ†” ml

For example:

Pantry before cooking:
Rice = 2 kg

Recipe uses:
Rice = 300 g

Pantry after cooking:
Rice = 1.7 kg
Enter fullscreen mode Exit fullscreen mode

๐Ÿ›’ Smart Grocery List

PantryPal can identify low-stock ingredients and help build a grocery list.

Users can also manually add grocery items.

When an item is purchased, PantryPal can add it back into the pantry, connecting the grocery and inventory flows.

โš ๏ธ Expiry Awareness

Ingredients approaching their expiry date appear as Use Soon items.

Users can also ask Gemma to prioritize these ingredients when suggesting meals.

This turns a simple question like "What should I cook?" into a small way of helping reduce food waste.


Demo

๐Ÿš€ Try PantryPal AI here:

https://pantrypal-drhiffdjnrxkrempz9bcak.streamlit.app/

The current deployment is an MVP/demo. It uses SQLite and may reset its data when the Streamlit deployment restarts or redeploys.


Code

๐Ÿ’ป The complete project is open source on GitHub:

GitHub logo ashishdhanawat111-oss / PantryPal

AI-powered smart kitchen companion for pantry, recipes and groceries.

๐Ÿฅ˜ PantryPal AI

Your kitchen remembers, so you don't have to.

PantryPal AI is a smart kitchen companion that helps users track pantry ingredients, discover what they can cook, manage recipes, reduce food waste, and organize grocery shopping.

Instead of being just another recipe chatbot, PantryPal combines AI suggestions with structured pantry data.

AI suggests. User confirms. Database remembers.


๐Ÿš€ Live Demo

Try PantryPal AI here:

https://pantrypal-drhiffdjnrxkrempz9bcak.streamlit.app/

GitHub Repository:

https://github.com/ashishdhanawat111-oss/PantryPal

PantryPal is currently an MVP deployed on Streamlit Community Cloud.
Its SQLite database is intended for demonstration purposes and may reset when the app restarts or redeploys.


๐Ÿ’ก The Problem

Keeping track of a kitchen sounds simple until you have to remember:

  • What ingredients are currently available?
  • How much of each ingredient is left?
  • What is about to expire?
  • What can I cook using what I already have?
  • What do I need to buy?
  • How much should be removedโ€ฆ

Repository:

https://github.com/ashishdhanawat111-oss/PantryPal


How I Built It

I built PantryPal using:

  • Python โ€” application logic
  • Streamlit โ€” user interface
  • SQLite โ€” pantry, recipe, and grocery storage
  • Gemma 3 4B โ€” open-weight AI model
  • Hugging Face Inference API โ€” model inference

The architecture intentionally separates AI tasks from deterministic application logic.

                  User
                    โ”‚
                    โ–ผ
              Streamlit UI
                    โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ                   โ–ผ
      Gemma AI           Python Logic
          โ”‚                   โ”‚
   Meal suggestions      Validation
   Interpretation        Unit conversion
   Estimation            Pantry updates
                              โ”‚
                              โ–ผ
                            SQLite
                     Pantry / Recipes /
                          Groceries
Enter fullscreen mode Exit fullscreen mode

An important lesson while building it

One of the most interesting things I learned while building PantryPal was where NOT to trust an LLM.

Initially, I tried asking Gemma to generate complete recipes with exact ingredient quantities.

The meal ideas were useful, but the quantities were not always reliable enough to directly modify someone's inventory.

For example, an AI-generated meal idea might be perfectly reasonable while its estimated ingredient quantities are unrealistic.

Instead of endlessly prompt-engineering around this problem, I changed the architecture.

Gemma handles the fuzzy tasks

  • Understanding what the user cooked
  • Suggesting meals
  • Interpreting natural language
  • Estimating possible ingredient usage

Python handles the exact tasks

  • Quantity validation
  • Unit conversion
  • Inventory calculations
  • Database updates

And whenever an AI estimate could affect inventory, the user gets the final confirmation.

That experience became the main design principle of PantryPal:

AI suggests โ†’ User confirms โ†’ Database remembers


Why Does Open Innovation Matter?

I chose Gemma, Google's open-weight model, because I wanted the intelligence at the center of PantryPal to come from an open model rather than designing the entire application around a completely closed AI system.

For PantryPal, separating the application from the model is important.

The pantry system does not belong to Gemma.

The recipes, grocery system, validation, calculations, unit conversions, and database are independent Python components.

Gemma is the intelligence layer.

Because of this separation, the AI layer can evolve independently.

A future version could run Gemma locally, use another Gemma model size, switch inference providers, or experiment with another open model without rebuilding the entire kitchen application.

Working with an open-weight model also made me think more carefully about how AI should actually fit into a product.

One of the biggest lessons from building PantryPal was:

Using more AI does not automatically make a product better.

For understanding natural language and generating meal ideas, Gemma is useful.

For subtracting 300 grams from 2 kilograms, normal code is better.

The interesting engineering decision is deciding where each belongs.


๐Ÿ  Current MVP Limitation

The deployed PantryPal version is currently a single-kitchen MVP/prototype.

The application demonstrates the complete workflow, but it does not yet have individual user authentication.

This means visitors to the public demo interact with the same demo kitchen rather than having private accounts.

A production version would add authentication and cloud-backed storage so every household could have its own:

  • Pantry
  • Recipes
  • Grocery list
  • Kitchen history

I chose not to rush an authentication system into the challenge build and risk breaking the core experience.

Instead, I focused on making the main PantryPal workflow functional from end to end.


๐Ÿ”ฎ What's Next?

There are several directions I would like to explore after this MVP:

  • ๐Ÿ” User authentication and private household pantries
  • ๐Ÿ“ฑ Better mobile-first experience
  • ๐Ÿ“ท Receipt and ingredient scanning
  • ๐Ÿท๏ธ Barcode scanning
  • ๐Ÿฅ— Nutrition information
  • ๐ŸŽ™๏ธ Voice interaction
  • ๐Ÿ”” Expiry notifications
  • ๐Ÿ‘ฅ Shared household accounts
  • ๐Ÿ“Š Pantry usage analytics
  • ๐Ÿพ An interactive PantryPal mascot

The biggest next step would be moving from the current single-kitchen prototype to private, persistent household pantries.


My Agent Session

I used AI assistance during development for brainstorming, debugging, understanding implementation choices, and iterating on PantryPal.

I did not save a DevRelay agent session for this build.


Prize Categories

๐Ÿ† Best Use of Gemma

PantryPal uses Gemma 3 4B as its AI intelligence layer for pantry-aware meal recommendations and natural-language ingredient estimation.

Rather than giving the model direct control over inventory, I combined Gemma with deterministic Python validation and user confirmation.

This lets Gemma do what it does best โ€” understand language and generate useful ideas โ€” while keeping important kitchen data predictable and controllable.


Final Thoughts

PantryPal started with a very ordinary question:

"What can I cook with what I already have?"

But while building it, I realized that the more interesting challenge wasn't simply adding AI to a kitchen app.

It was deciding when AI should make a suggestion and when normal software should take control.

That's the idea I want to continue developing with PantryPal:

AI suggests. User confirms. Database remembers.

๐Ÿฅ˜๐Ÿค– Built for the Hacktoberfest 2026 Weekend Challenge โ€” Build for a Friend.

Top comments (0)