Jonas Krauss

Portfolio

Foodsight

ML-powered sales prediction for bakeries — FastAPI, CatBoost, Svelte dashboard with charts.

Challenge

German artisan bakeries face a daily balancing act: overstock means waste (10–15% of baked goods discarded), while understock means lost revenue and unhappy customers. Traditional ordering relies on gut feeling. Foodsight replaces guesswork with data-driven demand forecasting.

Approach

End-to-end ML pipeline with a production-ready SaaS frontend:

  1. Data Ingestion — ETL pipeline pulls POS sales data (ready2order plugin) and weather forecasts (Open-Meteo), stages them raw → transformed → training-ready.
  2. Feature Engineering — Temporal features (weekday, holidays, school breaks), weather features, and lag features via tsfresh and featuretools. Plugin-based POS integrations.
  3. Model Training — CatBoost gradient-boosted regressor handles categorical features natively. Retrained twice daily.
  4. Prediction Serving — 7-day forecasts per store and product, with order ranges (min/optimal/max) balancing waste vs. stockout risk.
  5. Web Dashboard — Svelte SPA with Material Design, interactive bar charts and donut visualizations via Chart.js. Order export as Excel/CSV.
  6. API Layer — FastAPI with JWT auth, multi-store support, REST endpoints for forecasts, settings, orders, and sign-ups.

Results

  • Working prototype demonstrated to bakery partners in Wiesbaden/Mainz
  • Multi-store capability tested with 3 pilot locations
  • Full-stack SaaS architecture: Dockerized, Traefik + Let's Encrypt, Hetzner VPS

Tech Stack

  • Backend: Python 3.12, FastAPI, Pandas, Pydantic v2
  • Frontend: Svelte 3, SMUI, Tailwind CSS, Chart.js
  • ML: CatBoost, scikit-learn, tsfresh, featuretools
  • Infra: Docker, Traefik, Hetzner Cloud, OpenTofu