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:
- Data Ingestion — ETL pipeline pulls POS sales data (ready2order plugin) and weather forecasts (Open-Meteo), stages them raw → transformed → training-ready.
- Feature Engineering — Temporal features (weekday, holidays, school breaks), weather features, and lag features via
tsfreshandfeaturetools. Plugin-based POS integrations. - Model Training — CatBoost gradient-boosted regressor handles categorical features natively. Retrained twice daily.
- Prediction Serving — 7-day forecasts per store and product, with order ranges (min/optimal/max) balancing waste vs. stockout risk.
- Web Dashboard — Svelte SPA with Material Design, interactive bar charts and donut visualizations via Chart.js. Order export as Excel/CSV.
- 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