Skip to content
Yen Dine — ml research screenshot

ML Research · Final-year project · 2026

Yen Dine

Final-year project: campus food ordering with ML-based recommendations and demand forecasting.

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
Stack
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

Yen Dine — main screen
Yen Dine — mobile

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

  1. 01

    Recommendations from order history (user–item interactions + item features).

  2. 02

    Calendar and lag features forecast daily demand for the kitchen.

  3. 03

    Evaluated on held-out orders.

03 — Architecture

System architecture

  1. S01

    Orders

  2. S02

    Features

  3. S03

    Recommender + forecaster

  4. S04

    API

  5. 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.

python
# 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.

Yen Dine — detail screen 1

Outcome

Personalised recommendations for students and a daily demand forecast for kitchen planning.

Next project

ShopSwift iOS App

ShopSwift iOS App — mobile screenshot