Product Proposal
Shopee Seller
Intelligence Platform.
A multi-seller SaaS that continuously monitors any Shopee category, structures competitor data weekly, and delivers AI-powered pricing, promotion, listing, and positioning intelligence to sellers across Singapore.
Multi-seller
Any category
Weekly intelligence
Real-time alerts
AI query interface
WhatsApp delivery
Platform
Shopee Singapore
Pilot Seller
ECOSAM / Sam Leong
Pilot Category
Hand Sanitizers
Date
April 2026
Overview
The problem every Shopee seller shares
Shopee is a fast-moving marketplace. Prices shift weekly. New sellers enter categories without warning. Listing rankings change with algorithm updates. Competitors run promotions without notice. Yet most sellers on Shopee have no systematic way to monitor any of this. They check manually, react late, and make pricing and listing decisions based on incomplete information. This platform changes that. It is built for any Shopee seller in any product category - scraping competitor data on a fixed weekly cadence, storing it in a structured database, and delivering category-specific intelligence through automated reports, real-time alerts, and an AI query interface. ECOSAM, the hand sanitizer brand run by Sam Leong, is the first seller on the platform and the case study that shapes everything we build.
Built for Multiple Sellers
Each seller has their own configuration, keywords, categories, and intelligence feed. One platform, fully isolated data per seller, all running in parallel on the same weekly schedule.
Any Product Category
The scraper works from keywords and category IDs configured per seller. Hand sanitizers today, electronics tomorrow. The intelligence layer adapts its output to whatever the seller sells.
Intelligence That Adapts
The AI uses each seller's category context to generate relevant insights. A fashion seller gets size and trend analysis. A food seller gets dietary claim and bundle signals. Not generic advice.
Platform Workflow
How it works for any seller
A seller joins the platform, configures their category and keywords, and from that point the system runs entirely on autopilot. They receive intelligence every week without doing anything. The workflow is identical regardless of what they sell.
1
Seller Onboarding
The seller provides their Shopee store URL, product categories, and 3-5 primary search keywords. They connect their Shopee Open Platform API credentials for own-store data. This takes under 10 minutes and is done once.
Inputs: Shopee store URL, search keywords, category IDs, API credentials
2
Category Configuration
The platform creates a scrape configuration specific to the seller's category. Price brackets, alert thresholds, and listing quality scoring criteria are all set to match the norms of that specific category. A skincare seller's config looks entirely different from an electronics seller's.
Output: keyword list, competitor pool, price brackets, alert thresholds, listing scorer criteria
3
Weekly Data Collection
Every Monday at 2AM, the scraper processes all active seller configurations in sequence. For each seller it collects all competitor listings under their keywords, computes price deltas against the prior week, and writes the snapshot to that seller's isolated data partition in the database.
Output: fresh competitor snapshot, price history updated, rank positions recorded per seller
4
Category-Aware Intelligence Generation
The AI intelligence layer runs after collection. It receives each seller's category context alongside their fresh data - so the insights it generates are specific to what that seller sells. A hand sanitizer seller gets alcohol percentage and kill-claim analysis. A phone accessories seller gets device compatibility and generation-specific pricing signals.
Output: pricing recommendations, listing gaps, market movements, promotion signals - all category-specific
5
Delivery
Each seller receives their intelligence through their preferred channels - a formatted weekly email digest, a WhatsApp summary with the top 3 action items, and a web dashboard for exploring the full dataset and asking questions in natural language. Alerts are sent immediately when a threshold is crossed, outside of the weekly cycle.
Channels: email digest, WhatsApp alerts and chatbot, web dashboard with AI chat
Mon 2 AM
Scraper Runs
All seller configs processed in sequence
Mon 3 AM
Data Stored
Snapshots written, deltas computed per seller
Mon 4 AM
Alerts Fired
Threshold breaches sent via WhatsApp per seller
Mon 7 AM
Reports Delivered
Category-specific digest sent to each seller
Category Intelligence
How intelligence adapts per category
The core data collected is the same across all sellers - prices, ratings, sold counts, listing titles, seller profiles. What the intelligence layer does with that data depends entirely on the category. The AI receives category context as part of every query, so recommendations are specific to what that seller sells and what buyers in that category care about.
Hand Sanitizers
Keywords: hand sanitizer, alcohol sanitizer, antiseptic spray, antibacterial gel
Focus: alcohol %, kill claim, pump quality signals, volume/size, medical vs consumer positioning
Skincare
Keywords: moisturiser, sunscreen SPF, vitamin C serum, hydrating toner
Focus: ingredient claims, skin type targeting, set vs single, dermatologist-tested signals
Phone Accessories
Keywords: iPhone 15 case, MagSafe charger, screen protector, USB-C cable
Focus: device compatibility, generation-specific pricing decay, bundle configurations, spec claims
Food and Snacks
Keywords: local snacks, halal biscuits, protein bar Singapore, keto snack
Focus: halal certification, dietary claims, shelf life signals, subscription vs one-time
Pet Supplies
Keywords: cat food dry, dog leash, aquarium filter, rabbit pellets
Focus: pet type segmentation, breed-specific pricing, vet-recommended claims, subscription signals
Home and Living
Keywords: storage box, cable organiser, bamboo chopping board, LED desk lamp
Focus: material quality, size variants, aesthetic positioning, set bundling, durability signals

How it works technically: When the AI generates recommendations for a seller, it receives a category context block alongside the data - what buyers in that category search for, which product attributes matter most, and how competitors differentiate. This context is configured during seller onboarding and updated monthly. No fine-tuning of the AI model is required - category intelligence lives in the prompt context, not the model weights.

Data Layer
Collection approach
Two data sources feed the database. Each covers what the other cannot. All competitor data is scoped per seller via foreign key relationships - the platform serves multiple sellers simultaneously with fully isolated data.
Competitor Data
Browser Scraping via Playwright
Playwright loads Shopee search pages as a real browser, passing all security layers including Akamai Bot Manager, TLS fingerprinting, and session token validation. API calls are made from within the authenticated browser session. Runs via residential proxies on the weekly cron. This is the only reliable method for bypassing Shopee's bot detection at scale.
Own Store Data
Shopee Open Platform API
Shopee's official seller API provides each seller's own store metrics - actual order volumes, revenue, ad spend, and fulfilment rates. Sellers connect this during onboarding via OAuth. This data is exact and real-time. It cannot cover competitor stores, which the scraper handles.
Database Design
Tables and relationships
Eight tables cover the full data lifecycle from seller onboarding through intelligence delivery. All competitor and intelligence data is scoped per seller via foreign keys. The sellers and scrape_configs tables are the foundation of the multi-tenant architecture - every other table references back to a seller.
sellersOne row per seller registered on the platformCore
idSERIALInternal seller identifierPK
shopee_handleTEXTShopee store username (e.g. samuelleongsekkin)IDX
store_nameTEXTDisplay name of the seller's store
emailTEXTContact email for report delivery
whatsapp_numberTEXTWhatsApp number for alerts and digest
shopee_api_tokenTEXTEncrypted Shopee Open Platform API token
planTEXTstarter / growth / pro - subscription tier
statusTEXTactive / paused / trial
joined_atTIMESTAMPTZWhen the seller joined the platform
scrape_configsKeyword and category configuration per sellerConfig
idSERIALConfig identifierPK
seller_idINTEGERReferences sellers.idFK
keywordsTEXT[]Array of search keywords to scrape per run
category_idsTEXT[]Shopee category IDs to include in scraping
category_contextTEXTNatural language description of category fed to the AI for context-aware intelligence
price_bracketsJSONBCustom budget / mid / premium thresholds for this category
alert_thresholdsJSONBConfigurable thresholds for price drop, rank fall, and stock-out alerts
pages_per_runINTEGERSearch result pages to collect per keyword per run
activeBOOLEANWhether this config is included in the next scheduled run
scrape_runsAudit log of every weekly collection job per sellerAudit
idSERIALRun identifierPK
seller_idINTEGERReferences sellers.idFK
config_idINTEGERReferences scrape_configs.id used for this runFK
run_atTIMESTAMPTZWhen the run startedIDX
total_productsINTEGERProducts collected across all keywords
statusTEXTsuccess / partial / failed
error_logJSONBErrors encountered during the run
productsCompetitor product snapshot per scrape run, scoped per sellerCore
idSERIALRow identifierPK
seller_idINTEGEROwner seller - references sellers.idFK
scrape_run_idINTEGERReferences scrape_runs.idFK
item_idTEXTShopee's internal product identifierIDX
shop_idTEXTShopee's internal seller identifier
nameTEXTFull product listing title
brandTEXTExtracted brand name
price_sgdDECIMAL(10,2)Listed price in SGDIDX
price_max_sgdDECIMAL(10,2)Upper price if listing shows a range
price_bracketTEXTbudget / mid / premium - computed from seller's config thresholdsGEN
ratingDECIMAL(3,2)Product star rating
rating_countINTEGERTotal number of reviews
historical_soldINTEGERCumulative units sold
stockINTEGERCurrent stock count
is_official_storeBOOLEANShopee official store badge
is_preferred_plusBOOLEANPreferred Plus seller badge
shop_nameTEXTCompetitor seller display name
shop_locationTEXTSeller shipping origin
rank_positionINTEGERPosition in search results at scrape time
keywordTEXTSearch keyword this product appeared under
product_urlTEXTDirect Shopee product page URL
embeddingVECTOR(1536)OpenAI text embedding for semantic search via pgvectorIDX
scraped_atTIMESTAMPTZExact timestamp of collection
price_historyWeek-over-week price and rank tracking per product per sellerTrend
idSERIALRow identifierPK
seller_idINTEGERReferences sellers.idFK
item_idTEXTShopee product identifierIDX
recorded_atTIMESTAMPTZSnapshot timestampIDX
price_sgdDECIMAL(10,2)Price at this point in time
price_deltaDECIMAL(10,2)Change vs prior week
rank_positionINTEGERSearch rank at this snapshot
historical_soldINTEGERCumulative sold count at snapshot
ratingDECIMAL(3,2)Rating at this snapshot
seller_snapshotsSeller's own store data from Shopee Open Platform APIOwn Store
idSERIALRow identifierPK
seller_idINTEGERReferences sellers.idFK
recorded_atTIMESTAMPTZSnapshot timestampIDX
total_orders_7dINTEGEROrders received in last 7 days
revenue_7d_sgdDECIMAL(12,2)Revenue in last 7 days (SGD)
ad_spend_7d_sgdDECIMAL(10,2)Shopee Ads spend in last 7 days
conversion_rateDECIMAL(5,4)Orders divided by product page views
shop_ratingDECIMAL(3,2)Store rating at snapshot
follower_countINTEGERStore follower count
alerts_logEvery alert triggered, delivery channel and statusAlerts
idSERIALAlert identifierPK
seller_idINTEGERReferences sellers.idFK
alert_typeTEXTprice_drop / new_entrant / stock_out / rank_dropIDX
triggered_atTIMESTAMPTZWhen the condition was detected
item_idTEXTProduct that triggered the alert
messageTEXTAlert message sent to seller
delivered_viaTEXTwhatsapp / email / dashboard
delivered_atTIMESTAMPTZDelivery confirmation timestamp
recommendationsAI-generated recommendations stored per seller with source dataIntelligence
idSERIALRecommendation identifierPK
seller_idINTEGERReferences sellers.idFK
scrape_run_idINTEGERThe weekly run this was generated fromFK
typeTEXTpricing / listing / promotion / positioning / keywordIDX
headlineTEXTOne-line summary of the recommendation
detailTEXTFull recommendation with data references
data_snapshotJSONBThe exact DB rows used to generate this recommendation
generated_atTIMESTAMPTZWhen the AI generated this
statusTEXTpending / actioned / dismissed
Intelligence Layer
What the platform delivers
Every feature works for any seller in any category. The content of each output adapts to the seller's specific market - the delivery mechanism and logic is identical across the platform.
Weekly Intelligence Report
Every Monday, each seller receives a digest specific to their category - search ranking vs last week, price vs market average, new competitor entries, and 2-3 prioritised action items. A hand sanitizer seller and a pet food seller receive entirely different reports from the same engine.
Email and WhatsApp, every Monday 7AM per seller
Weekly
Real-Time Market Alerts
Alert thresholds are configured per seller during onboarding. Triggers include: competitor drops below seller's price, new official brand store enters category, top competitor goes out of stock (a sales opportunity), seller's rank falls beyond the configured threshold.
Instant WhatsApp on trigger event
Real-time
Pricing Recommendation Engine
Compares each seller's price against competitors with similar ratings within their specific category and variant bracket. Price brackets are defined per category during setup. The output is always a specific recommended price with data-backed reasoning, not a range.
Included in weekly report
Weekly
Promotion Calendar
Price history data reveals when competitors in a seller's category collectively discount. Different categories peak at different times around platform events. The system generates a forward-looking calendar 4-6 weeks ahead with recommended discount percentages based on what drove volume in prior cycles for that category.
Monthly calendar, updated as patterns emerge
Monthly
Listing Quality Scorer
Scoring criteria are category-specific. A hand sanitizer listing is scored on alcohol %, kill claims, and pump type. A food listing is scored on dietary certifications and ingredient transparency. A phone case is scored on device model specificity and drop protection claims. The platform generates specific rewrite suggestions, not generic SEO tips.
Weekly, flagged when score drops below threshold
Weekly
Natural Language Query Interface
Each seller's chat interface is scoped to their own data. A skincare seller cannot see electronics data. Queries like "what price should I set to sell 100 units?" are answered using that seller's actual competitor pool. The AI always retrieves real database values first - numerical claims are never generated from inference alone.
Web dashboard and WhatsApp chatbot
On demand
Market Gap Finder
Identifies underserved positions within each seller's specific category - product variants, size configurations, price-quality combinations, or bundle formats that no strong competitor currently owns. What constitutes a gap in pet supplies is structurally different from a gap in home and living.
Monthly analysis
Monthly
Architecture
System architecture
The platform is built in five independent layers. The key architectural principle is multi-tenancy - every data query, AI prompt, alert, and report is scoped to a specific seller. No seller sees another seller's data. The scraper processes all active seller configurations in sequence on the same weekly schedule.
Data Sources
Shopee Search Pages
Competitor listings per keyword per seller
Shopee Open Platform API
Each seller's own store metrics
Collection Layer
Playwright Scraper
Processes all seller configs in sequence
Shopee API Client
Per-seller OAuth requests
Weekly Cron Scheduler
Monday 2AM SGT, all sellers
Residential Proxies
IP rotation to prevent blocks
Storage Layer - PostgreSQL on Supabase
sellers
scrape_configs
products
scrape_runs
price_history
seller_snapshots
alerts_log
recommendations + pgvector
Intelligence Layer
Claude API
Category-aware recommendations
Alert Engine
Per-seller threshold monitoring
Report Generator
Category-specific digest per seller
Query Functions
Pre-built SQL tools scoped per seller
Backend API - FastAPI
FastAPI Backend
/query  /  /alerts  /  /dashboard  /  /recommendations  /  /sellers  /  /onboard
Delivery Channels
Web Dashboard
Charts, AI chat, competitor map
WhatsApp
Alerts and chatbot via Twilio
Email Digest
Weekly report via SendGrid

Technology stack

ComponentTechnologyPurpose
ScraperPlaywright (Python)Headless browser - only reliable method for bypassing Shopee's session-level bot detection
ProxiesResidential Proxy PoolIP rotation across all seller configs each weekly run
DatabasePostgreSQL via SupabaseMulti-tenant relational storage with row-level security for seller data isolation
Vector SearchpgvectorSemantic product search, runs inside the same PostgreSQL instance
EmbeddingsOpenAI text-embedding-3-small1536-dim product vectors for semantic matching and RAG retrieval
AI / LLMClaude API (Anthropic)Category-aware query answering and recommendation generation, grounded in retrieved data only
Backend APIFastAPI (Python)All endpoints including multi-seller auth, query, alerts, and onboarding
AuthSupabase AuthSeller login and session management with row-level security for data isolation
SchedulerCron via RailwayWeekly scrape trigger and Monday report generation per seller
WhatsAppTwilio WhatsApp APIReal-time alerts and WhatsApp chatbot interface
EmailSendGridFormatted weekly intelligence digest per seller
FrontendNext.js (React)Seller dashboard - charts, AI chat, alert history, onboarding flow
HostingRailwayBackend, scheduled jobs, and static frontend
Pilot Case Study
ECOSAM as the first seller
Sam Leong, founder of ECOSAM, is the first seller on the platform and the partner who commissioned this build. ECOSAM sells hand sanitizers on Shopee Singapore and has built one of the strongest stores in the category over five years. Every product decision, schema field, intelligence feature, and delivery format in this document has been validated against ECOSAM's real category and real use case.
ECOSAM
Hand Sanitizers - Shopee Singapore - Pilot Seller
4.9
Store rating, top 5% of category
16.1k
Total reviews received
6.4k
Store followers
5 yrs
Active on Shopee SG
ECOSAM Category Config
Keywords tracked
hand sanitizer, alcohol sanitizer, antiseptic hand rub, antibacterial spray, sanitiser SG, 75% alcohol hand gel. Price brackets: budget below SGD 8, mid SGD 8-15, premium above SGD 15. Alert threshold: rank drop of 3 or more positions in a single week.
What the pilot validates
Platform decisions shaped by ECOSAM
Listing scorer criteria for health products. Price bracket thresholds for fast-moving consumer goods. Alert sensitivity for a mature seller with stable rankings. Category context prompts for health and personal care. WhatsApp delivery format and cadence preferences.

Sample weekly report output for ECOSAM

ECOSAM Weekly Intelligence - Hand Sanitizers Monday, 14 April 2026
Search Rank
#4
1 position from last week
vs Market Avg
+13%
SGD 12.90 vs avg 11.40
New Competitors
2
Both budget tier, rating below 4.0
Listing Score
3 / 6
Below category avg of 4.8
This Week's Action Items
1
Add "75% Alcohol" and "Kills 99.9% Germs" to product title. Present in 8 of the top 10 ranked listings, missing from ECOSAM's current title.
2
Monitor Guardian SG - third consecutive weekly price drop (SGD 10.90 to SGD 8.50). Pattern consistent with clearance behaviour, not permanent repositioning.
3
HOSPICARE 500ml out of stock this week. Consider a short ad spend increase on the 500ml listing to capture redirected demand.
Business Model
SaaS pricing tiers
The platform is offered as a monthly subscription. Sellers choose a tier based on how many keywords they track and which features they need. All tiers include the core weekly scrape and report. Higher tiers unlock more keywords, more categories, real-time alerts, and the AI chat interface.
Starter
SGD 149
per month
  • Up to 3 tracked keywords
  • 1 product category
  • Weekly intelligence report
  • Email delivery
  • Price history - 3 months
  • Web dashboard (read only)
Growth
SGD 299
per month
  • Up to 8 tracked keywords
  • Up to 3 categories
  • Weekly report and real-time alerts
  • Email and WhatsApp delivery
  • Price history - 12 months
  • AI chat interface
  • Listing quality scorer
  • Promotion calendar
Pro
SGD 499
per month
  • Unlimited keywords
  • Unlimited categories
  • Everything in Growth
  • Market gap finder
  • Ad keyword intelligence
  • Shopee API integration
  • Full price history
  • Priority support

Unit economics: Monthly running cost at full operation is approximately SGD 400-700 covering database hosting, proxy costs, Claude API calls, and WhatsApp delivery. At 5 Growth-tier sellers the platform covers its costs. At 10 sellers it runs profitably. ECOSAM joining as the pilot seller validates the product, establishes the case study, and provides the foundation to onboard additional sellers across other Shopee categories.