Inspiration

Food waste is often caused by simple everyday problems: forgotten ingredients, missed expiry dates, duplicate purchases, and not knowing what to cook with what is already available. We wanted to build a solution that makes sustainable behaviour easier instead of relying on guilt or constant manual effort. That led us to FridgeWise: a smarter way to manage food at home and prevent waste before it happens.

What it does

FridgeWise is a mobile application that helps users manage their fridge inventory and reduce household food waste. Users can add and remove ingredients, track expiry dates, and receive reminders before food goes bad.

To reduce friction, users can also scan food items using their phone camera with Google ML Kit. FridgeWise then uses the ingredients already available to generate AI-powered recipe suggestions, helping users turn soon-to-expire food into meals.

The app also includes a gamification system where users earn points, complete quests, build streaks, and compete on a zero-waste leaderboard for using ingredients before they expire. A dashboard brings everything together, giving users a quick overview of their inventory, waste streak, progress, and sustainability activity.

How we built it

We built FridgeWise using Flutter for the mobile application and Supabase for authentication, database storage, user profiles, inventory data, and gamification statistics.

Our application is separated into key feature modules including the dashboard, fridge, inventory, quests, profile, and authentication flows. We integrated Google ML Kit for food and text recognition to reduce the effort required to add items manually.

For recipe recommendations, the inventory data can be passed to external AI models so recipes are generated based on what the user currently has rather than generic suggestions. We also implemented user-specific database access and Row Level Security so each user only sees their own fridge inventory.

Challenges we ran into

One major challenge was ensuring that different parts of the app worked together reliably. Inventory changes needed to update the dashboard, recipe system, expiry tracking, and gamification features without creating inconsistent data.

We also encountered challenges with user-specific data, database migrations, iOS dependencies, CocoaPods, and integrating ML Kit into the Flutter project.

Another challenge was designing the waste streak system correctly. Initially, simply opening certain pages could trigger streak updates. We redesigned the logic so streaks are tied to meaningful actions, such as using food before expiry, and can only be counted once per day.

Accomplishments that we're proud of

We are proud that FridgeWise goes beyond simply reminding users that food is expiring. It provides an actionable next step by recommending meals that can be created using those ingredients.

We are also proud of combining computer vision, AI recommendations, expiry tracking, personalised inventories, and gamification into one connected sustainability experience.

Most importantly, every major feature supports the same goal: preventing food waste before it happens.

What we learned

We learned that building a sustainability solution is not only about providing information, it is about reducing the effort required for users to act on that information.

A notification that food is expiring may not be enough. Users need to know what they can do with that food immediately, which is why connecting expiry tracking with recipe generation became such an important part of FridgeWise.

We also gained practical experience working with Flutter, Supabase, database migrations, Row Level Security, external AI services, computer vision, Git collaboration, and cross-platform mobile development.

Built With

  • dart
  • flutter
  • go-router
  • material
  • openai
  • supabase
Share this project:

Updates

Submission history