PracHub
QuestionsLearningGuidesInterview Prep
|Home/ML System Design/Snapchat

Design a Lens Recommendation System

Last updated: Apr 2, 2026

Quick Overview

Design a Snapchat lens recommendation system for AR camera experiences. Covers product goals, candidate generation, ranking features, weighted logistic regression, multi-task expected utility, cold start, serving, feedback loops, and ML feature/model platform.

  • medium
  • Snapchat
  • ML System Design
  • Machine Learning Engineer

Design a Lens Recommendation System

Company: Snapchat

Role: Machine Learning Engineer

Category: ML System Design

Difficulty: medium

Interview Round: Onsite

Design a recommendation system for augmented-reality lenses in a social camera application. Your design should cover: - product goals and success metrics, - candidate generation and ranking, - training data, labels, and features, - online serving and feedback loops, - cold start for new lenses and new users, - how to use weighted logistic regression when engagement actions have different value levels, - a training platform that lets engineers discover, version, and retrieve features and models consistently. ### Constraints & Assumptions - Lens recommendations are interactive, so latency matters. - Raw opens are not enough; creation, sharing, saving, repeat use, and negative feedback have different values. - Safety, device compatibility, content policy, freshness, and creator ecosystem health are in scope. - Logged data has position and exposure bias. - The ML platform should support reproducibility and offline/online feature consistency. ### Clarifying Questions to Ask - Which surface is being ranked: camera carousel, lens explorer, chat, or creation flow? - What is the primary objective: opens, creations, shares, retention, or creator distribution? - What latency budget and device constraints exist? - Are lenses user-generated, curated, or both? - How much exploration traffic is allowed for new lenses? ### What a Strong Answer Covers - Multi-stage recommender architecture: filtering, candidate generation, ranking, and post-processing. - Candidate sources such as popularity, collaborative filtering, content embeddings, creator graph, context, and freshness. - Features across user, lens, context, and interactions. - Weighted logistic regression baseline and why multi-task or expected-utility ranking may be better. - Cold-start strategy for new users and new lenses. - Online serving path, feedback logs, A/B tests, and guardrails. - Feature store, model registry, versioned training specs, lineage, and offline/online parity. ### Follow-up Questions - How would you correct for position bias? - How would you avoid overexposing only popular lenses? - How would weighted labels affect probability calibration? - What would you put in a feature store schema?

Quick Answer: Design a Snapchat lens recommendation system for AR camera experiences. Covers product goals, candidate generation, ranking features, weighted logistic regression, multi-task expected utility, cold start, serving, feedback loops, and ML feature/model platform.

Related Interview Questions

  • Design User Embedding Semantic Search - Snapchat (medium)
  • Design a Family-Friendly Listing Classifier - Snapchat (medium)
  • Design a video recommendation system - Snapchat (medium)
  • Design an ads ranking ML system - Snapchat (medium)
  • Design short-video retrieval with sparse text - Snapchat (medium)
|Home/ML System Design/Snapchat

Design a Lens Recommendation System

Snapchat logo
Snapchat
Jun 28, 2025, 12:00 AM
mediumMachine Learning EngineerOnsiteML System Design
5
0

Design a recommendation system for augmented-reality lenses in a social camera application.

Your design should cover:

  • product goals and success metrics,
  • candidate generation and ranking,
  • training data, labels, and features,
  • online serving and feedback loops,
  • cold start for new lenses and new users,
  • how to use weighted logistic regression when engagement actions have different value levels,
  • a training platform that lets engineers discover, version, and retrieve features and models consistently.

Constraints & Assumptions

  • Lens recommendations are interactive, so latency matters.
  • Raw opens are not enough; creation, sharing, saving, repeat use, and negative feedback have different values.
  • Safety, device compatibility, content policy, freshness, and creator ecosystem health are in scope.
  • Logged data has position and exposure bias.
  • The ML platform should support reproducibility and offline/online feature consistency.

Clarifying Questions to Ask Guidance

  • Which surface is being ranked: camera carousel, lens explorer, chat, or creation flow?
  • What is the primary objective: opens, creations, shares, retention, or creator distribution?
  • What latency budget and device constraints exist?
  • Are lenses user-generated, curated, or both?
  • How much exploration traffic is allowed for new lenses?

What a Strong Answer Covers Guidance

  • Multi-stage recommender architecture: filtering, candidate generation, ranking, and post-processing.
  • Candidate sources such as popularity, collaborative filtering, content embeddings, creator graph, context, and freshness.
  • Features across user, lens, context, and interactions.
  • Weighted logistic regression baseline and why multi-task or expected-utility ranking may be better.
  • Cold-start strategy for new users and new lenses.
  • Online serving path, feedback logs, A/B tests, and guardrails.
  • Feature store, model registry, versioned training specs, lineage, and offline/online parity.

Follow-up Questions Guidance

  • How would you correct for position bias?
  • How would you avoid overexposing only popular lenses?
  • How would weighted labels affect probability calibration?
  • What would you put in a feature store schema?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More ML System Design•More Snapchat•More Machine Learning Engineer•Snapchat Machine Learning Engineer•Snapchat ML System Design•Machine Learning Engineer ML System Design

Your design canvas — auto-saved

PracHub

Master your tech interviews with 9,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.