05 / Operations software / Software internship 2025 / Individual build

Institutional Food Operations

A FastAPI operations system connecting weekly menus, dish-level bills of materials, inventory transactions, supplier context, and Random Forest attendance estimation.

FastAPIApplication backend
RFRandom Forest pax predictor
BOMMenu → ingredient pipeline
SQLMySQL operations + SQLite model settings
Private internship implementation Inspect architecture
System scope

Large-scale food service operations face a major challenge: demand uncertainty. Overproduction, poor inventory visibility, and a lack of data-driven decision-making lead to significant daily food wastage and increased operational costs.

Developed as an internship project for a Sodexo-oriented food-service workflow, the system replaces disconnected spreadsheets with a common operational path. It combines weekly menus, dish-to-ingredient mappings, inventory, BOM calculations, and a meal-attendance predictor.

My contribution: Solo internship project — I designed the data model, built the FastAPI service layer, implemented the Random Forest pax predictor, and delivered the manager-facing dashboard UI.

Tech Stack

PYPython + FastAPI — route and service layer
MLscikit-learn Random Forest — pax estimator
DApandas — menu and BOM transformations
DBMySQL operations data + SQLite ML settings
UIHTML / CSS / JS — manager-facing dashboard
Operator surfaces

One interface for inventory state and meal planning

Institutional food operations dashboard showing ingredient, low-stock, BOM, supplier, and inventory activity summaries
Operations dashboard. Inventory state, low-stock ingredients, BOM activity, suppliers, and recent stock movements share a single review surface.
Canteen attendance prediction form
Pax estimation route. The manager supplies current attendance context and a service date before the Random Forest adapter returns a planning estimate.
System architecture

Data-to-Decision Pipeline

ING
Operations input
Menus · dishes · inventory · attendance
→
API
FastAPI routes
Validation · route handlers · templates
→
BOM
BOM engine
Dish quantities · ingredient rollups · stock deltas
→
ML
Pax adapter
Random Forest · configurable planning inputs
→
UI
Manager console
Inventory · BOM · meal planning · alerts
DATA
Feature Engineering

The system calculates Waste Ratios (prepared - consumed / prepared) and correlates them with meal types, days, and ingredient patterns to find recurring inefficiencies.

RF
Random Forest Pax Predictor

Features: day of week, meal type, historical attendance count, seasonal index. Output: predicted meal count used for portion planning and ingredient procurement. Prototype — trained on internship-period data; accuracy improves with longer history.

Implementation map

The source is organized around operator workflows

SubsystemRuntimeResponsibilityState contract
Menu managementFastAPI routes + SQLWeekly menu composition and dish selectionMenu dates, meal slots, dish identifiers
BOM finalizationPython + pandasResolve selected dishes into ingredient demandRequired quantity, unit, available stock, deficit
Inventory ledgerMySQLTrack stock levels, restocks, and BOM consumptionIngredient, quantity delta, action, timestamp
Pax predictionscikit-learnEstimate meal attendance from planning inputsService date, present population, predicted pax
Manager interfaceHTML + CSS + JavaScriptExpose shortages and recent operational activitySummary counters, exception lists, route actions
Data Flow

The Optimization Lifecycle

01

Input Data Ingestion

Kitchen logs (manual or semi-automated) capture ingredient usage per dish and daily consumption metrics across different meal types.

02

Normalization & Aggregation

Raw data is cleaned and aggregated by meal type, day, and ingredient to provide a consistent baseline for analysis.

03

Pattern Analysis

The engine identifies high-waste items, demand fluctuations, and peak vs. low consumption periods using statistical heuristics.

04

Recommendation Engine

The system generates actionable recommendations: portion adjustments, inventory corrections, and menu-level optimizations for kitchen managers.

Challenges & Solutions

Solving Real-World Messiness

Problem

Inaccurate Manual Data Entry

Human error in logging quantities can lead to incorrect optimization recommendations and skewed waste ratios.

Solution

Validation & Historical Benchmarking

Implemented validation checks and historical trend analysis to flag anomalies in data entry before they affect the optimization logic.

Problem

Unpredictable Demand Spikes

Sudden events or holidays cause spikes that standard patterns can't predict, leading to potential stockouts or waste.

Solution

Recommendation Thresholds

Instead of hard rules, the system uses recommendation thresholds that allow managers to override logic based on external context.

Problem

System Scalability

Handling large-scale kitchen data across multiple locations requires efficient processing to maintain real-time updates.

Solution

Modular Backend & Caching

Designed a modular backend architecture with efficient aggregation queries and caching for repeated analytical lookups.

Operational boundary

What the implementation makes measurable

This project demonstrated how a shared operational data model can make kitchen decisions measurable and reviewable. The system is designed to support:

  • Sustainability: Compare planned, prepared, and consumed quantities before claiming waste reduction.
  • Cost Efficiency: Connect ingredient requirements to inventory and procurement context.
  • Operational Efficiency: Replace repeated manual calculations with auditable BOM and menu workflows.

Engineering constraints

01Attendance forecasts require manual event context.
02BOM accuracy depends on complete dish-to-ingredient mappings.
03Inventory adjustments remain auditable transactions.