BrandChecker — AI Luxury Brand Authenticator

Project Info

  • Client Self-funded SaaS
  • Year 2025 → present
  • Category SaaS / AI Vision
  • Stack Next.js 15 (web), React Native (Expo SDK 55, Expo Router), TypeScript, Prisma 6 + Postgres, NextAuth v5, Wayforpay, monorepo workspaces
  • AI Claude Vision (claude-sonnet-4-6) — OCR + authenticity verdict

Project Description

BrandChecker is a pay-per-check (from $0.20) authenticity service for luxury and premium goods that I built end-to-end. Users photograph an item plus its label, stitching, hardware, and serial number; Claude Vision OCRs the serial, validates it against a brand-specific regex, then runs the full authenticity analysis and returns a confidence-scored verdict with a detailed HTML report and a public share link. The native app is live on both Google Play and the App Store, and the UI ships localized into 19 languages. Pricing is pure pay-per-check — 3 free checks on signup, then from $0.49 for a single check down to $0.20 each in the 50-pack, with no subscription.

Architecture: a TypeScript monorepo with three workspaces — Next.js 15 web/API (App Router), Expo SDK 55 mobile (Expo Router + expo-camera + expo-secure-store), and a shared package holding the brand rules, types, and i18n strings (19 locales) used by both clients. Postgres + Prisma 6 stores users, checks, and brand rules — 154+ brands across nine categories (luxury, premium, watches, jewelry, sneakers, streetwear, eyewear, electronics, and niche perfumery), from Louis Vuitton and Rolex to Nike and Hoka.

The tricky parts: a split NextAuth config (the edge-compatible half powers the middleware so it still runs at the edge with the Credentials provider isolated to the Node runtime), HMAC-MD5-signed Wayforpay callbacks for pay-per-check billing, and a guided camera flow on mobile that enforces three required shots plus optional extras before submitting a check. Auth supports email/password, Google, and Apple Sign-In.

BrandChecker — AI luxury brand authenticator