jobs leveraged embeddings and historical interaction data to generate candidate recommendations for users. These candidate lists were subsequently written to S3.</li>
<li><strong>Layer 3</strong>: Ranking and Merging – A final round of processing ranked the generated candidates using ML models, combined different candidate lists, and stored the final ranked recommendations in a caching system.</li>
<li><strong>Serving</strong>: A microservice retrieved ranked recommendations from an in-memory data store v