Toy Sentinel
Event-Driven Retail Intelligence Platform
A distributed monitoring platform that continuously tracks collectible products across multiple e-commerce retailers, detects inventory and pricing changes, and automatically delivers real-time alerts to subscribers via Telegram.
The Problem
Collectible figures occupy a uniquely difficult retail niche. Popular items sell out within hours of listing. Price drops are temporary and unannounced. Restocks happen without notice across multiple retailers simultaneously.
Collectors who want to stay informed face a tedious manual process:
- Checking multiple retailer websites repeatedly throughout the day.
- Manually comparing prices across Amazon, MercadoLibre, and specialty stores.
- Missing restocks or discounts because no notification system exists.
- Discovering sold-out products minutes after they listed.
The problem is not availability of information — it is the speed and effort required to act on it.
The Solution
Toy Sentinel eliminates manual monitoring entirely. The platform continuously scrapes product listings from multiple retail sources, detects meaningful changes — new listings, price drops, restocks — and publishes structured notifications to Telegram channels where subscribers receive them in real time.
Collectors no longer check websites. The platform watches on their behalf and alerts them the moment something relevant happens — before inventory runs out.
The result is a system that runs continuously in production, serves 200+ subscribers daily, and demonstrates what separates a working distributed system from a weekend demo.
System Architecture
The platform is built as a pipeline of decoupled components. Scraping, change detection, and notification delivery are intentionally separated — each can fail, retry, or scale independently.
Engineering Challenges
Retail Websites Change Frequently
Each retailer exposes product data differently — different HTML structures, dynamic loading patterns, anti-scraping measures, and inconsistent field naming. Layouts change without notice and silently break extraction logic.
Built retailer-specific extraction strategies encapsulated behind a common product interface. Each scraper normalizes output to the same internal model, so downstream components are fully isolated from retailer-specific changes.
Duplicate and Noisy Notifications
Without safeguards, minor price fluctuations or repeated scrapes of the same listing trigger multiple alerts. Subscribers receiving duplicate notifications quickly lose trust in the platform and unsubscribe.
Implemented event deduplication logic in the Change Engine. Events are only generated when a meaningful threshold is crossed — not on every scrape cycle — and are fingerprinted to prevent re-publication of identical events.
Telegram Rate Limits Under Load
When multiple products change simultaneously, naively pushing all notifications at once hits Telegram's API rate limits, causing message delivery failures and requiring complex retry logic across the system.
Introduced a Redis-backed message queue between event generation and delivery. The Telegram consumer processes the queue asynchronously at a controlled rate, fully decoupling throughput from scraping cadence.
Key Features
Notification Format
Each alert is structured to give subscribers everything they need to make a purchase decision instantly — without opening a browser.
Notifications include product image, current and previous price, savings percentage, retailer, stock status, and a direct purchase link — everything needed to act immediately.
Platform Metrics
Toy Sentinel is a live production system, not a demo. These metrics reflect real operational scale.
Unlike portfolio demos that simulate production conditions, Toy Sentinel runs continuously, serves real users daily, and has been maintained through retailer structure changes, Telegram API updates, and infrastructure failures.