FreshTrace
A shared household kitchen inventory that tracks freshness and suggests recipes with AI.
Senior project — full-stack developer
- Flutter
- Dart
- Firebase Auth
- Cloud Firestore
- Cloud Functions
- Gemini (Firebase AI)
Highlights
- Barcode scanning for fast grocery entry using the device camera
- Estimated expiration tracking so households know what to eat first
- Gemini-powered recipe recommendations built from what's actually in the kitchen
- Shared household inventory synced in real time through Cloud Firestore
- Firestore security rules scoping every read and write to household membership
Overview
FreshTrace answers a small, universal question — "what's in the fridge and how long do we have?" — for the whole household at once. Members scan or enter groceries, the app estimates expiration dates, and a Gemini integration turns the soon-to-expire list into recipe suggestions, cutting down on food waste.
Design choices
Flutter gave me one codebase for web, iOS, and Android, which mattered for a household app where everyone's on a different device. Firebase handles auth, real-time sync, and serverless logic: Cloud Firestore keeps every member's inventory view current, Cloud Functions run the server-side work, and the Firebase AI SDK connects to Gemini for recipe generation.
Engineering depth
The interesting problems were data-shape ones: modeling a shared inventory so concurrent edits from multiple household members merge cleanly, writing Firestore security rules that scope access by household membership, and prompting Gemini with structured inventory context so recipe suggestions stay grounded in what the user actually has.
Outcome
Delivered as my senior project at the University of Mississippi. It's the project that taught me the full lifecycle: scoping, building, and demoing a real product to a non-technical audience.
Want to talk about FreshTrace?
I'm happy to walk through the code, the architecture, or the decisions behind it.