The problem
Brazilian consumers rely on manual "deal-finder" groups (WhatsApp, Telegram) to catch discounts before they sell out, but almost all of them are run by a person copy-pasting links all day. That doesn't scale, doesn't run 24/7, and can't personalize by category or timing.
I built Promolândia to replace the manual layer entirely: a backend service that finds real discounts across 4 marketplaces, scores them, and publishes them automatically to Telegram and WhatsApp — with affiliate monetization built into the link layer.
Architecture
Ingestion — one integration pattern per marketplace, because none of them play the same:
- Mercado Livre: direct SSR scraping (no official deals API). Required a custom anti-bot layer — rotating Chrome UA/Sec-CH-UA headers, cookie persistence across paginated requests, randomized jitter between requests — to stay under the radar of an in-house anti-bot system, at zero API cost.
- Amazon: blocked at the infrastructure level (AWS WAF + CloudFront JS challenge on any datacenter IP). Solved by routing through SerpApi's
engine=amazon, cutting API calls in half versus the naivegoogle_shoppingapproach while tripling the yield of deals with valid original-price data. - Shopee & AliExpress: integrated via their official affiliate Open Platform APIs once approved — GraphQL for Shopee, REST for AliExpress, including bulk LLM-based title translation (AliExpress feeds return English titles).
Scoring — each marketplace gets its own weighted model, because "a good deal" means something different per audience: Mercado Livre is impulse-buy territory (heavy weight on absolute price), Amazon skews toward gamer/electronics (weight shifts to rating + review count + category), Shopee factors historical sales volume into the score. All models share a discount-percentage floor as a hard filter before scoring even runs.
Deduplication: a title-normalization step (strips units, sizes, numbers, stopwords) blocks near-duplicate posts — e.g. the same product in three sizes — across a 7-day rolling window, scoped per platform to avoid false positives between marketplaces with overlapping inventory.
Distribution: results are published via scheduled jobs (multiple crons per platform, tuned per API rate limit) to a Telegram channel and a WhatsApp community, through the Evolution API for WhatsApp delivery.
Monetization + analytics layer: every outbound link is rewritten through a self-hosted URL shortener (promolandia.link) that logs every click with a timestamp. That data feeds a dashboard showing click volume by hour, weekday, platform and category — closing the loop from "what we post" to "what people actually click," which then feeds back into what to prioritize.
Results (first 46 days in production)
What this demonstrates
Not "a script that posts things" — a pipeline with per-channel acquisition logic, a scoring system tuned to each platform's buyer psychology, and a feedback loop (click analytics → content strategy) that's the same loop any growth team runs, just built from scratch.
Shipped a production scraper against an actively defended marketplace (anti-bot headers, WAF bypass strategy) when there was no API path available, and knew when to switch to an official API path once one existed.
Backend services, database schema, scheduling/orchestration, and the analytics dashboard were all built and are maintained solo.
Next section to add once available: community growth numbers (WhatsApp group size, growth rate) once the acquisition phase (Meta Ads + referral loop) reports results.
← All case studies