Canadeal — Automated Deal Aggregation
The problem
Finding good deals for Canada's Chinese-speaking community meant manually searching fragmented sources, rewriting product descriptions, and posting across multiple platforms by hand — every single day.
What I built
Built the platform end-to-end: FastAPI + Next.js 14 + MongoDB + Meilisearch, containerized with Docker Compose. An automated Playwright crawler bypasses Amazon bot-detection via Chrome DevTools Protocol. A pluggable AI-provider layer (OpenAI / Claude / Deepseek, hot-swappable via one env variable) auto-generates Traditional Chinese titles, categories, and feature summaries. Facebook Graph, Instagram Stories, and Threads APIs handle scheduled auto-posting.
Manual work it replaces
Manual deal hunting, manual description rewriting, manual social posting — the entire content pipeline now runs on its own.
What I learned
Proactive security work matters: I audited the system myself and patched 3 critical vulnerabilities including hardcoded DB credentials, an X-Forwarded-For rate-limit bypass, and an XSS-readable admin key. The pluggable AI layer taught me that swapping cost/quality trade-offs should never require touching business logic.
Built with
- Python
- FastAPI
- Next.js
- MongoDB
- Meilisearch
- Playwright
- Docker
- OpenAI
- LLM
Status
Live at canadeal.ca.