Inspiration

We noticed how hard it is for everyday consumers to understand what’s really in the food they buy. Nutrition labels are dense, and dietary needs vary. We wanted to create a simple yet powerful tool that empowers people to make healthier choices effortlessly, tailored to their individual goals and lifestyles.

What it does

"What's In It" is a mobile app that lets users scan food barcodes and instantly get:

  • Ingredient breakdowns
  • Additive warnings
  • Nutritional insights
  • Personalized recommendations based on their selected dietary preferences (e.g. keto, vegan, low sugar)

How we built it

The app is built using Flutter for the frontend, with a Python FastAPI backend. We leverage OpenFoodFacts API to retrieve product data and use Perplexity’s Sonar API to analyze ingredients and generate personalized dietary advice. User preferences are stored locally for simplicity and speed.

Challenges we ran into

  • Parsing unstructured or incomplete ingredient data
  • Making nutrition advice both accurate and user-friendly
  • Designing a UI that balances simplicity with depth

Accomplishments that we're proud of

  • Seamless integration between barcode scanning, data retrieval, and AI-generated insights
  • Lightweight, privacy-conscious design (no cloud-based user data storage)
  • A clean and consistent UI inspired by wellness apps like Headspace and Foodvisor

What we learned

  • How to combine multiple APIs into a smooth, real-time mobile experience
  • The importance of simplifying complex health data for a diverse user base
  • Practical UX lessons from usability testing and user feedback

What's next for What's in it

  • Add support for photo-based food analysis
  • Enable syncing dietary settings across devices
  • Expand personalized recommendations with more nuanced health profiles
  • Explore partnerships with nutritionists, food databases, or health platforms
  • Expand into adjacent markets like pet food and medicine for similar ingredient transparency.

Built With

Share this project:

Updates