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
- 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).
- Walking skeleton: popularity recommender end to end — this is also your baseline row.
- Candidate generation: the Phase 06 BPR factorizer; evaluate recall@200 against popularity.
- 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).
- Serving: the Phase 09 batching simulator wraps scoring; report the latency-throughput frontier for your actual ranker cost.
- 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.
- 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)
| Metric | Baseline (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.