
Final-year project: a campus food-ordering platform with an ML recommendation system and demand forecasting for the kitchen.
- My role
- ML and full-stack
- Links
- GitHub (planned) ↗
- Stack
- PythonTensorFlowscikit-learnFlaskStreamlitpandas
- Python · TensorFlow · scikit-learn · Flask · Streamlit · Pandas
88%
Daily demand forecast accuracy (from résumé — confirm)
[REPLACE]
Recommendation precision@k / hit rate
[REPLACE]
Users in pilot


Source · Streamlit demo on synthetic data — not the project's evaluation
01 — Problem
Students spent time choosing meals, and the kitchen had no reliable estimate of daily demand.
02 — Approach
- 01
Recommendations from order history (user–item interactions + item features).
- 02
Calendar and lag features forecast daily demand for the kitchen.
- 03
Evaluated on held-out orders.
03 — Architecture
System architecture
S01
Orders
S02
Features
S03
Recommender + forecaster
S04
API
S05
App
04 — Engineering notes
Features that carry the signal
Demand is mostly weekly rhythm plus recent level. In the demo, lag-7 dominates feature importance.
# demos/demand_forecast/app.py
def features(df):
out = df.copy()
out["dow"] = out.date.dt.dayofweek
out["dom"] = out.date.dt.day
for lag in (1, 7, 14):
out[f"lag_{lag}"] = out.orders.shift(lag)
out["roll_7"] = out.orders.shift(1).rolling(7).mean()
return out.dropna()The live demo runs on synthetic data, so its error is not the project's metric. The final-year project reported 88% daily-demand accuracy on real order history.

Outcome
Personalised recommendations for students and a daily demand forecast for kitchen planning.
Next project
ShopSwift iOS App
