Capstone 01 — Recommender Platform, End to End

Composes: Phase 03 (feature store) · Phase 05 (LTR) · Phase 06 (BPR/two-stage) · Phase 09 (serving + canary) · Phase 11 (A/B analysis) · Phase 12 (drift) Time: 2–4 weeks

The canonical ML system-design interview ("design a recommendation system"), built instead of described.

What you ship

A single-process platform over a synthetic interaction stream:

events ──► feature store (point-in-time) ──► candidate gen (BPR, P06)
                                                  │ top-200
                                                  ▼
                                            ranker (pairwise LTR, P05)
                                                  │ top-10
                                                  ▼
                            serving simulator (batching + canary, P09)
                                                  │ exposure + click logs
                                                  ▼
                       A/B analyzer (P11)  +  drift monitor (P12)

Stage list

  1. Data: synthetic users/items/interactions with popularity skew, user taste clusters, and temporal drift built in (the drift is planted so the monitor has something to catch).
  2. Walking skeleton: popularity recommender end to end — this is also your baseline row.
  3. Candidate generation: the Phase 06 BPR factorizer; evaluate recall@200 against popularity.
  4. Ranking: the Phase 05 pairwise ranker over (user, item) features from the Phase 03 store — point-in-time correct features (the seam test: offline and online features match for sampled (user, t) pairs).
  5. Serving: the Phase 09 batching simulator wraps scoring; report the latency-throughput frontier for your actual ranker cost.
  6. The experiment: simulate the click model over control (popularity) vs treatment (two-stage); run the Phase 11 analyzer — power check first, SRM check, then the readout with CIs.
  7. Operations: Phase 12 drift monitor over feature + score distributions across the planted temporal drift; show the breach → retrain → validate → promote cycle on the candidate generator.

Money table (fill with your runs)

MetricBaseline (popularity)Two-stage
recall@10 (offline)
NDCG@10 (offline)
simulated CTR (online, with CI)
p99 latency @ peak QPS
drift detection lag on planted shift

Injected-failure demo (required)

Break the feature pipeline mid-experiment (null out a feature); show the data contract catching it and what the drift monitor + SRM check each saw. This demo is the interview story.

Honest-limitations paragraph (required)

Address at minimum: synthetic click model realism (position bias only as modeled), in-memory stores, brute-force candidate scoring vs real ANN, single-process clock.