Inspiration

The inspiration for Fresh Track came from a personal problem. I often forget about food in my fridge or pantry until it has already expired. This led to wasted food, wasted money, and frustration. I started asking myself how this everyday problem could be solved in a simple, scalable way. Reducing food waste benefits the environment by lowering emissions and conserving resources, while also being financially beneficial for individuals and households. Fresh Track was built to address both.

What it does

Fresh Track helps users reduce food waste by tracking groceries, predicting expiration dates, and suggesting recipes to use food before it goes bad. Users can add items manually or by scanning barcodes. Each item is categorized and assigned a storage location, which is used to predict its expiration date using an on-device machine learning model trained on USDA FoodKeeper guidelines. The app notifies users when food is about to expire and allows them to discover recipes based on what they already have in their pantry, especially items that need to be used soon.

How we built it

Fresh Track was built as a cross-platform iOS and macOS app using SwiftUI and SwiftData, with a FastAPI backend for synchronization, barcode lookups, and recipe search. Key components include: A local-first SwiftData model for groceries and recipes Barcode scanning using Apple’s Vision framework Integration with Open Food Facts for product detection Recipe search powered by the Spoonacular API A Core ML expiration prediction model trained using Create ML Local notifications for expiring items A modular backend with PostgreSQL, Redis caching, and JWT authentication Expiration predictions are performed entirely on-device for speed and privacy, with fallback logic when predictions are unavailable.

Challenges we ran into

One major challenge was balancing accuracy and simplicity in expiration prediction. USDA guidelines are not perfectly structured for machine learning, so careful feature engineering and fallback logic were needed. Another challenge was managing permissions and user trust, particularly with camera access for barcode scanning and notification scheduling. Integrating multiple external APIs while keeping performance fast and reliable also required caching strategies and defensive error handling.

Accomplishments that we're proud of

Building a fully functional end-to-end product within a limited timeframe Successfully integrating on-device machine learning for real-world predictions Creating a clean, intuitive UI that delivers value within the first minute of use Implementing barcode scanning with real product detection Delivering recipe suggestions that directly connect to expiring food Designing the app with privacy and offline-first principles

What we learned

We learned that small, well-scoped features can have meaningful real-world impact when they fit naturally into daily habits. We also learned how important it is to design machine learning systems with transparency, fallbacks, and user control, especially when predictions affect real behavior like food safety. From a technical standpoint, we gained experience integrating Core ML, building scalable backend services, and coordinating frontend and backend systems effectively.

What's next for Fresh Track

Next, we plan to introduce personalized recipe recommendations using advanced machine learning, including time-of-day preferences and collaborative filtering. Additional goals include: CloudKit sync across devices Smarter notifications with user preferences Meal planning and habit insights Expanded product databases and offline support Improved accessibility and onboarding Long-term, Fresh Track could help households measurably reduce food waste while supporting healthier, more sustainable eating habits.

Built With

  • core-ml
  • create-ml
  • fastapi
  • open-food-facts-api
  • python
  • spoonacular-api
  • sql
  • swift
  • swiftdata
  • usernotifications
  • vision-framework
Share this project:

Updates