Design a price drop tracking service

Quick Overview

This question evaluates system-design competencies such as scalable architecture, data modeling for time-series price history, external data ingestion and integration, alerting and monitoring, and trade-off reasoning for large-scale services.

Design a price drop tracking service

Company: Meta

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a price tracking service like CamelCamelCamel. Requirements: - Users track products and receive alerts when price drops below a threshold. - Periodically fetch current prices from sources (official APIs or scraping). - Store price history and show charts. - Scale to millions of tracked products. Out of scope: complex anti-bot scraping details.

Overview: This question evaluates system-design competencies such as scalable architecture, data modeling for time-series price history, external data ingestion and integration, alerting and monitoring, and trade-off reasoning for large-scale services.

Community answers

Answer by jafaran697

Have a asycn scheduler which will crawl the websites check for updated , do event driven apporahc to check delta and send notification

Answer by brenosilva1

Assumes that store is Amazon Requirements Q: What are the non-functional requirements? Availability > Consistency The system should be able to handle holiday spikes in traffic The system shouldn't take long to notifying the prices (1-2 hrs?) Low latency for checking historical prices (500ms) Core Entities Q: What are the core entities of the system? User Product PriceHistory PriceAlertSubscription API Q: What are the external REST APIs that your system will expose in order to satisfy the functional requirements? GET - /v1/prices-history/:productId -> PriceHistory\ POST - v1/priceAlert/ -> PriceAlertSubscription\ body { priceThreshold: number; productId: string; } High Level Design Q: How will the system update the prices of products? Assume Amazon has no API available. So, if Amazon has no API available, we would need a web scraper to iterate through each product on the Amazon website and extract the correct needed information. For each product, we send it to the price tracker. The price tracker checks whether the product already exists in the database. If it does not, it creates it. Then we record the price history in the price history DB with the current price. The price tracker needs to check whether the product already exists and whether the price is the same. If the price is unchanged, no new item needs to be inserted. However, if the price has been updated compared to the existing price, we would need to insert a new entry into the price history DB. Of course that the p
|Home/System Design/Meta
Meta logo
Meta
Feb 25, 2026
mediumSoftware EngineerOnsiteSystem Design
7
0

Design a price tracking service like CamelCamelCamel.

Requirements:

  • Users track products and receive alerts when price drops below a threshold.
  • Periodically fetch current prices from sources (official APIs or scraping).
  • Store price history and show charts.
  • Scale to millions of tracked products.

Out of scope: complex anti-bot scraping details.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...