ML Systems2026Independent

ReelRank

Multi-stage short-video recommender with online exploration

Production-style recommendation platform: a multimodal two-tower retriever, a GRU multi-task ranker, diversity re-ranking and a LinUCB contextual bandit, served by FastAPI with a discovery UI that shows how each feed was ranked.

PyTorchFAISSFastAPIContextual BanditsPrometheusDocker

Visual evidence

Personalized discovery queue

ReelRank personalized discovery queue with predicted completion, like and skip signals

Supplementary evidence

Discovery UI

ReelRank landing view with feed controls

Case study

Problem, Build, Outcome

Problem

Engagement-only rankers collapse into popularity loops, and most recommender demos stop at an offline notebook with no serving, exploration or feedback path.

Build

Trained a content-aware two-tower model with hard negatives and FAISS retrieval, a multi-task ranker for completion, like and skip, then added creator and category diversity caps, LinUCB exploration with propensity logging, and idempotent online feedback.

Outcome

On the seeded evaluation set the model reaches 1.55x the recall of a most-popular baseline while covering 85% of the catalog, and the UI exposes those metrics next to the live feed.

Architecture

System Flow

1Retrieve
2Rank
3Diversify
4Explore
5Learn

Architecture Notes

  • Two-tower retriever fuses ID, category, creator and precomputed visual, audio and text features into a FAISS index.
  • GRU sequence ranker predicts completion, like and skip jointly with a pairwise loss.
  • Feedback events are idempotent and update the online bandit exactly once, with state persisted per model fingerprint.

Engineering choices

Technical Decisions

Seeded synthetic data keeps the full system reproducible, while the same CLI accepts a normalized KuaiRand log.

Logged propensities at serve time so offline IPS estimates are bias-corrected rather than descriptive.

Exposed a read-only model card endpoint so the UI explains ranking quality instead of hiding it.

Evidence

Proof Points

Recall@10, NDCG@10 and MAP@10 reported against a popularity baseline with a confidence interval

Stable A/B routing with a LinUCB exploration slice and inverse-propensity reward estimates

511 tests at 95% coverage, Prometheus metrics, Docker Compose deployment

Next read

Related Deep Dives