Our Inspiration
PantryPal was created by broke university students, for broke university students. As STEM students, we are constantly challenged by balancing demanding classes, surviving on $20 a week for groceries, and trying to eat anything besides instant ramen. As we explored this problem, we realized this doesn’t only affect students, it affects individuals around the world who face high food prices, food waste, and the stress of meal planning on a fixed income. Beyond personal convenience, we saw an opportunity to tackle larger social issues, from reducing food waste to promoting healthier, more sustainable eating habits.
The challenge is not a lack of motivation to save money or eat well, it’s the lack of tools that connect the two. Our first step was simple: track grocery deals around campus to help peers stretch their dollars. After researching HackGT12, many sponsor tracks encouraged us to explore AI which led us to bigger ideas. What if an intelligent system could automatically pair budgeted ingredients with personalized nutrition goals, giving people the ability to eat within budget while still meeting their nutritional needs?
That idea became PantryPal. It’s more than just a grocery app, it’s a tool designed to reduce stress around food and finances. Good nutrition helps your body feel strong and your mind stay sharp, so you can handle life’s challenges and be your best self. The purpose of PantryPal is to help people take control of their meals, their budgets, and ultimately their mental and physical wellbeing.
PantryPal’s Purpose
PantryPal makes day to day meal planning a lot less stressful. It keeps track of your dietary preferences, budget, and favorite foods, then creates a grocery list tailored to you. You can go through the list and make changes however you like, adding or removing items so it really fits your needs. After that, PantryPal suggests recipes that make the most of the ingredients on your list, helping you reduce waste while still eating well. You can also save the meals you love, building a personal library of go-to recipes that are easy, budget-friendly, and fit your lifestyle. It’s designed to make planning meals simple and stress-free, so you can focus on enjoying your food instead of worrying about it.
Our Development Process
PantryPal is designed to be a personalized meal planning tool. Each account saves a user’s dietary restrictions, budget, and favorite foods, making the experience unique to them. The backend, built with Python and powered by an MCP server, pulls user data from Firebase, organizes it into structured schemas, and feeds it into the LLM via the OpenAI API, which returns a formatted JSON response for generating personalized recommendations.The frontend, built in Next.js, communicates with the MCP server through a simple HTTP interface, enabling smooth end-to-end integration. Based on user preferences, PantryPal generates grocery lists that can be reviewed and adjusted with flexibility before finalization, reducing the stress of rigid meal planning. Once the list is locked in, the app suggests recipe ideas that maximize ingredients on hand, helping reduce waste while making meal planning easier. Users can also save favorite meals, building a library of go-to recipes that fit both their budget and lifestyle.
Using AI allows PantryPal to combine financial constraints, health goals, and sustainability considerations into every recommendation. It gives PantryPal the bandwidth needed to fufill user needs by creating grocery lists and recipes that are optimized for the user’s budget and nutritional needs, while managing their environmental impact. By automating complex planning, the app not only saves time but also encourages healthier, more sustainable lifestyles. Users can review and adjust grocery lists, then explore recipes that maximize ingredients, reduce waste, and improve overall nutrition—all supported by AI-driven insights.
Accomplishments
Working on PantryPal as a team has been meaningful because it addresses a challenge we all face: eating well on a tight budget while managing busy lives. One of the most important principles of tech development is problem solving, and in events such as hackathons, it's easy to get caught up in creating for the sake of creating. Our goal was to create a product that has a positive on the world, not just on an individual. Seeing how our efforts could reduce stress, save money, and improve nutrition on the indivudual scale, and then have a meaningful impact on the environment shows that our ideas can turn into solutions that truly help the community, and validates that we are creating in pursuit of something bigger and better for those around us. As a team, we challenged ourselves to experiment with new technology by working with an MCP server. We chose this approach because of its strong prompt engineering capabilities, ability to handle structured data, and interactive design that reflects user updates in real time. MCP servers are also extremely scalable, meaning that as we make our product more personalized to users, our program can handle all users and complex features. Integrating MCP into our final project allowed us to build a more responsive system while also deepening our understanding of emerging technologies. This required a lot of resilience, teaching us that even when challenges are difficult, tackling them head on leads to developing the most meaningful solution.
Challenges
Our biggest challenge throughout HackGT12 was connecting the backend to the frontend. While each side worked well independently, integrating them tested our problem-solving and teamwork. We explored multiple approaches, including using Streamlit to call the MCP server and Flask and FastAPI, but ran into issues with authentication and API calls. Ultimately, we settled on React routing, which allowed us to handle the integration mostly within the frontend, avoiding additional frameworks. At the same time, setting up an MCP server was completely new to us, pushing us to learn quickly and adapt. This was definitely not one of those hackathons where everyone was in bed by midnight, there were late night moments where we were unsure if any approach would work. Tackling these challenges head on strengthened our technical skills and resilience as a team.
What's next for PantryPal
Platform Expansion: The biggest next step is developing a dedicated mobile application (iOS and Android) to maximize user convenience. Moving to mobile will allow people to access and edit their shopping lists in real-time while they're physically in the grocery store and easily access their recipes while cooking, making Pantry Pal the perfect pocket-sized assistant.
Local Integration & Price Comparison: Currently our budgeting scope is limited, focusing mainly on grocery stores accessible to Georgia Tech students living on campus. Our goal is to localize the shopping process by letting users throughout the country select their most convenient or frequented store, making the application accessible to all users nationwide. This allows PantryPal to generate exact pricing and compare nearby stores to find users the best price or nutritional value, resulting in higher quality lists for the user.
Deeper Personalization & Family Features: PantryPal is meant to be perfect for all users, whether you’re a student living alone or shopping for your whole family. Allowing users to select serving sizes, typical meal frequency, and cooking time per day gives PantryPal the data to provide more personalized insights. This ensures PantryPal is working to adapt its recipes and lists to the users life, freeing them up to focus on cooking.
Nutritional Facts: While the focus of this project is to create easy and healthy meals, it's important for users to learn from the app's insights and to understand the nutritional values of the food they are putting in their body. In order to promote food literacy, an additional feature will be a nutritional facts section, where the contents of the ingredients and final meal are shown to the user.
Built With
- css
- firebase
- javascript
- mcp
- next.js
- python
- react
- tailwind
- typescript

Log in or sign up for Devpost to join the conversation.