Inspiration

Over $28 billion of food is wasted annually in U.S. grocery stores alone. Supermarkets face a daily dilemma: overstock and create waste, or understock and fail to meet customer demand. Because daily needs constantly shift based on weather, holidays, and local events, manual purchasing is largely guesswork. Freshora solves this by transforming complex variables into actionable demand forecasts.

What it does

Freshora predicts daily demand for individual grocery products and recommends how much inventory to order. By uploading past sales and inventory data, users receive a personalized dashboard detailing expected sales, potential waste, and upcoming order quantities. Unlike traditional forecasting tools, Freshora uses optimization to not only predict, but to recommend. It finds the balance between understocking and over-ordering, continuously adapting to shifting demand and recommends inventory plans. Since the model learns from every new data upload, its accuracy compounds over time. Ultimately, Freshora reduces food waste while increasing businesses’ long-term profit margins.

How we built it

  • Frontend: Vite / React / Typescript for a fast, responsive dashboard
  • Backend: Python / FastAPI bridging the ML model and UI
  • AI Backend: XGBoost to forecast grocery demand, Gemini API to power inventory recommendations
  • Database: Tiger Data to handling time-series weather data
  • Data Source: Grocery sales history from Kaggle combined with historical weather data from Open-Meteo API

Challenges we ran into

  • Finding datasets with enough information with the factors that influence food waste and demand
  • Balancing the model accuracy with adding features that are actually useful for making inventory decisions
  • Integrating multiple data sources into one prediction pipeline

Accomplishments that we're proud of

  • Building a complete end to end ML application, from data uploads to forecasting inventory recommendations
  • Creating a comprehensive and interactive dashboard that make our ML predictions B2B-friendly
  • Building a system designed to continuously improve as more store data becomes available

What we learned

  • Build and evaluating an XGBoost forecasting model
  • Utilizing the Gemini API to integrate an AI-chatbot
  • Build a self-learning feedback loop that retrains model with new data

What's next for Freshora

  • Personalize predictions to each store’s sales and inventory data
  • Incorporate real-time local events, supplier lead times, promotions, etc.
  • Train model on larger and more diverse datasets to improve prediction accuracy

Built With

Share this project:

Updates

Submission history