Resume
Chris Kwan
Calgary, AB · 587-966-8287 · chriskwanmy@gmail.com · linkedin.com/in/chriskwanmy
Technical Skills
Languages:Python, JavaScript, TypeScript, Java, HTML, PHP, CSS
Tools & Platforms:Docker, Linux, Git
Professional Experience
System Builder — Memory Express · Calgary, AB
- Executed system assembly, testing, and validation workflows for desktop and laptop deployments.
- Maintained accurate operational and inventory records using Microsoft Dynamics 365 Finance & Operations.
- Followed standardised technical procedures and quality assurance processes to ensure consistent deployment outcomes.
IT Administrator — Miss Kwan's House Limited
- Built a JavaScript + Google Sheets ERP system handling inventory, customer management, invoicing, delivery notes, quotations, and automated PDF generation.
- Maintained the company website and hardware infrastructure, performing system troubleshooting to ensure stable daily operations.
Key Projects
Canadeal — Automated Deal Aggregationcanadeal.ca ↗
Python · Next.js · MongoDB · LLM- Designed and built the platform end-to-end: FastAPI + Next.js 14 + MongoDB + Meilisearch, containerized with Docker Compose.
- Built an automated crawling pipeline using Playwright over Chrome DevTools Protocol to bypass Amazon bot-detection; consolidated all DOM extraction into a single in-page evaluation, improving throughput ~4×.
- Architected a pluggable AI-provider layer (OpenAI / Claude / Deepseek, hot-swappable via one env variable) to auto-generate Traditional Chinese product titles, categories, and feature summaries.
- Integrated Facebook Graph, Instagram Stories, and Threads APIs for scheduled auto-posting to Canada's Chinese-speaking community.
- Conducted a proactive security audit and patched 3 critical vulnerabilities, including hardcoded DB credentials, an X-Forwarded-For rate-limit bypass, and an XSS-readable admin key.
T&T Supermarket Price Trackertnt.canadeal.ca ↗
Next.js · MongoDB · Hybrid Search · Docker- Engineered a Node.js crawler scraping ~12,500 product listings across 2 stores and 3 languages (EN / Traditional Chinese / Simplified Chinese) on a daily schedule via crontab + Docker Compose.
- Designed a two-phase crawl pipeline reducing unnecessary requests by ~95%.
- Implemented polite rate-limiting with configurable concurrency (p-limit), random jitter, and exponential back-off retries — keeping full runs under 5 minutes per combination.
- Optimised MongoDB write patterns by appending price-history sub-documents only on price change, cutting write volume by ~80%.
- Fixed a race condition serving empty API responses by replacing delete-then-insert with idempotent bulk upserts; containerized behind Nginx reverse proxy with HTTPS on an Ubuntu VPS.
GoLink — Link Shortenergo.canadeal.ca ↗
Python · FastAPI · MongoDB · Docker- Built a full-stack link shortening platform with affiliate engine, supporting custom aliases, QR code generation, and deep link routing.
- Implemented A/B testing for redirect targets with configurable weight distribution, scoped by subscription plan tier (Free / Pro / Business).
- Designed an affiliate tag injection system with per-domain rules and an ethical no-overwrite policy.
- Built click analytics pipeline tracking device type, geo-location, referrer, and time-series data; exposed EPC metrics via REST API.
- Implemented JWT-based authentication with role-based access control (user / admin), plus plan-gated feature enforcement across all endpoints.
Flashfood Deal Finderflashfood.canadeal.ca ↗
Next.js · Firebase · Vercel- Built a live deal feed using Firestore onSnapshot (no polling) with composable region/store/category/keyword filters and multiple sort modes.
- Implemented infinite scroll via IntersectionObserver (32-item batches) and per-city filter persistence in sessionStorage; multi-language UI (EN / ZH / FR / KR / JP).
- Generated dynamic Open Graph images at the Edge for rich social-sharing previews; fully responsive, mobile-first layout.
AI Resume Builderresume.canadeal.ca ↗
Next.js · FastAPI · Docker · MongoDB · OpenAI API- Built a full-stack AI-powered resume builder: Next.js 15 (App Router, TypeScript, TailwindCSS) frontend and FastAPI backend, deployed on Vercel + Docker.
- Integrated OpenAI API to analyse job descriptions and recommend the most relevant skills, projects, and experience entries from a structured knowledge base.
- Designed a personal profile database with full CRUD supporting both manual entry and AI-assisted bulk import from raw text.
- Built resume export pipeline supporting PDF, DOCX, Markdown, and plain text output formats.
- Architected a privacy-conscious AI rewrite feature that polishes bullet points without fabricating facts, inflating responsibilities, or inventing metrics.