Inspiration

I was inspired after reading about how malnutrition and poverty reinforce each other in a vicious cycle, and learning about how limited SNAP benefits are in the U.S. I wanted to create a tool that could help low-income individuals make the most of their food budget while still meeting their nutritional needs.

What it does

NutriAid generates personalized grocery lists based on a user's dietary needs, budget, and preferences. Users can submit a simple form, and the application recommends a shopping list that maximizes nutrition while staying within their budget. Over time, the system adapts to user feedback to improve recommendations.

How I built it

The backend is built with Flask and Python, using SQLite to store user profiles, form submissions, and preference data. The frontend uses React and Tailwind for a responsive and interactive interface. The core of the project is a linear programming algorithm that balances cost, nutrition, and variety when generating grocery lists.

Challenges

One of the biggest challenges was getting the algorithm to output realistic grocery items and portion sizes. Another challenge was sourcing and cleaning nutritional and pricing data for a wide variety of food items so the recommendations would be practical and affordable.

Accomplishments

I’m proud that I ended up with a grocery list algorithm that is realistic and effective. For example, it is able to generate 24 meals while only spending around $20, while also meeting nutritional needs.

What I learned

I learned a lot about designing algorithms for real-world constraints and integrating multiple data sources. I also gained deeper insight into the challenges of malnutrition and poverty, and how technology can help address these issues.

What's next for NutriAid

The next steps include integrating additional food aid systems, such as UN and international aid programs, improving the user interface, and expanding the platform to allow users more control over building their own grocery lists.

Share this project:

Updates