A content app recommends items to millions of users. Size candidate generation, the reranker, caches and the embedding pipeline within a budget, and survive a cold cache and the loss of a vector node.
How it works
โบEmbed: users and items become vectors so that similar taste or content lies close together.
โบGenerate: an approximate nearest-neighbour search returns a few hundred candidates in milliseconds.
โบRank: a heavier model orders the candidates with fresh features, then diversity rules adjust the list.
โบLearn: events and exposure logs flow back through a stream into new embeddings, closing the loop.
What you'll build
The API, and the events, embeddings and recommendation-log data
The two-stage serving path with a per-user cache
The event stream and workers that update embeddings
A feature store, and a GPU fleet for batch embedding refresh
A cold cache and a lost vector node, then the full peak design
Deep dives: two stages, freshness, cold start, approximate recall, feedback loops