Sneaker Symphony: AI-Run Marketplace
A full online store that one person runs, with supplier scrapers, AI product parsing, and per-pair QC workflows.
A Philippine sneaker marketplace at sneakersymphony.com, built and run by one person. Yupoo and WGStores supplier scrapers, Claude Haiku product-title parser, GCash, bank transfer, and COD payments with proof-of-payment upload and per-pair QC approval.

Supplier import and product parsing automated, with per-pair QC and payment workflows
Team of one· Founder & solo full-stack engineer
No team, no agency, no hand-offs. I owned this project end to end:
- Requirements
- Architecture
- UI & UX
- AI & prompts
- Backend & APIs
- Database
- Infra & deployment
- Stack
- Claude HaikuNext.js 15SupabaseInngestCloudflare R2
Where AI does the work: Claude Haiku parses product titles, and scrapers fill the catalog, leaving the owner to review and approve.
What was broken, and what fixed it
Problem: A full online store normally needs staff for product entry, pricing, and payment verification.
Fix: Yupoo and WGStores scrapers pull supplier catalogs into a review queue, and the admin imports items one by one or in bulk. Nothing reaches the store without an admin check. Claude Haiku parses product titles.
Problem: Supplier catalogs list hundreds of items with photos and Chinese-yuan prices that need cleanup before they can be sold.
Fix: Each supplier source gets its own importer and table, so a new source cannot break a working one. Images are copied to Cloudflare R2, and unpriced items get tiered price suggestions.
Problem: Filipino buyers expect GCash, bank transfer, or COD payments with proof of payment.
Fix: Checkout supports GCash, bank transfer, and COD with proof-of-payment upload verified by the owner. Per-pair QC approval workflow with 8-angle photos before payment release.
Approach
- Yupoo and WGStores scrapers pull supplier catalogs into a review queue, so nothing reaches the store without an admin check.
- Each supplier source gets its own importer and table, sharing only the storage and catalog plumbing, so a new source cannot break a working one.
- Claude Haiku parses product titles automatically, saving manual data entry.
- Per-pair QC approval with proof-of-payment verification by the owner.
What it does
Catalog automation
- Yupoo and WGStores supplier scrapers with per-source importer
- Claude Haiku product-title parser
- Admin review queue with single and bulk import
- Tiered price suggestions for unpriced items
Commerce
- GCash, bank transfer, and COD checkout
- Proof-of-payment upload verified by owner
- Per-pair QC approval with 8-angle photos
- Invoices on Cloudflare R2, buyer email through Resend
Roadmap
- PayMongo integration for automated card and e-wallet payments
- Automated social posting pipeline to FB, IG, and TikTok
Architecture
Interface
- Next.js 15
- Voice
AI
- Claude Haiku
Logic & APIs
- Inngest
Data
- Supabase
Infrastructure & delivery
- Cloudflare R2
- Vercel
- Identity
- 1Next.jsSupabaseVercelIdentity
Next.js 15 on Vercel, with Supabase for data and auth.
- 2AutomationVercel
Inngest for background jobs, Vercel Cron for scheduled tasks.
- 3VoiceEmailCloudflare
Cloudflare R2 holds product images and invoices; Resend sends buyer email.
- 4
Messenger integration for customer inquiries.
Engineering
- Schema changes ship as versioned SQL migrations, so every database change is reviewable and repeatable.
- Checkout and admin forms are validated with Zod schemas before anything is written.
- Each supplier importer is isolated in its own table, and scraped items wait in an admin review queue before they reach the store.
- Vercel Analytics and Speed Insights track real-user traffic and page performance in production.
Outcome
- Supplier import and product parsing automated, with per-pair QC and payment workflows.
- Live at sneakersymphony.com.