No updates detected yet. GitHub releases will appear here.
EV-based slot pricing for sports card group breaks. AI-powered buy/watch/pass signals.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
AI-powered intelligence platform for sports card breaks. Real-time slot pricing, deal analysis, and market signals — built for breakers and serious collectors.
Given a sports card product (e.g. 2025 Bowman Chrome Baseball), BreakIQ:Read the full README ↗AI-powered intelligence platform for sports card breaks. Real-time slot pricing, deal analysis, and market signals — built for breakers and serious collectors.
Live: getbreakiq.com · Private beta
Given a sports card product (e.g. 2025 Bowman Chrome Baseball), BreakIQ:
card_idhobbyEVPerBox = Σ(variantEV × 1/hobby_odds)effectiveScore = clamp(buzz_score + breakerz_score, -0.9, 1.0)BreakIQ Insights (/analysis) — consumer deal checker: pick a product, select a team, enter the asking price — Claude returns a BUY/WATCH/PASS verdict with a 2–3 sentence AI narrative, risk flag disclosures, and social signal badges.
Slab Analysis (/card-lookup) — upload a cert image or enter a cert number directly. Claude parses the image, PSA API verifies grade + population data, CardHedger returns market-wide grade pricing and recent comps.
My Breaks (/my-breaks) — log breaks before or after they happen. Captures the BreakIQ analysis snapshot at decision time. Rate outcome (Win/Mediocre/Bust), record platform, give feedback on the analysis. Stats, filters, CSV export/import.
Market intelligence (Discord) — allowlisted SMEs run /insight (player sentiment, risk flags, hype tags) and /break-price (observed slot asks — from screenshots, a Google Sheet / .xlsx / .csv, or a deterministic structured .json upload for large sheets) in Discord. Claude parses each into proposed updates with full source attribution, staged behind a ✅/❌ review before anything writes. Large proposals attach a full-list .md so every row's DB target is verifiable. Feeds Market Delta Watch (our model price vs. the breaker market).
Prospect pricing (Track A) — top MLB Pipeline prospects get a rank-driven weight bump plus a rank-tiered base-EV floor in Bowman pricing (every Bowman player is a prospect, not a rookie, so the rookie-weighted model underrated the headline cards). Surfaced as a #N chip on player rows; gated by the prospect_rank_enabled feature flag.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 App Router (TypeScript) |
| Styling | Tailwind CSS + shadcn/ui |
| Database | Supabase (Postgres + Auth) |
| Payments | Stripe (Hobby $9.99/mo, Pro $24.99/mo) |
| Pricing API | CardHedger |
| Cert Verification | PSA Public API |
| Resend | |
| AI | Claude Sonnet 4.6 — model ids centralized in lib/models.ts (semantic keys per task) |
| Analytics | PostHog |
| Deploy | Vercel |
npm install
npm run dev
Copy env vars from Vercel or ask for .env.local. Required vars:
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
SUPABASE_JWT_SECRET
CARDHEDGER_API_KEY
ANTHROPIC_API_KEY
PSA_API_KEY
RESEND_API_KEY
FROM_EMAIL
NEXT_PUBLIC_APP_URL
STRIPE_SECRET_KEY
STRIPE_WEBHOOK_SECRET
STRIPE_PRICE_HOBBY
STRIPE_PRICE_PRO
CRON_SECRET
NEXT_PUBLIC_POSTHOG_PROJECT_TOKEN
NEXT_PUBLIC_POSTHOG_HOST
FIRECRAWL_API_KEY
Local dev bypasses auth (middleware skips redirect, API routes fall back to first profile). See CLAUDE.md for full environment details and known gotchas.
git push origin main
vercel --prod --yes
Staging branch: staging | Repo: github.com/brodotype-dev/breakerz
| Route | Purpose |
|---|---|
/ | Homepage — product grid, My Breaks promo |
/break/[slug] | Break analysis — team slots, player EV, buzz badges |
/analysis | BreakIQ Insights — enter a price, get BUY/WATCH/PASS + AI narrative |
/card-lookup | Slab Analysis — cert image or cert # → PSA verification + market pricing |
/my-breaks | Break history — log, track outcomes, export CSV |
/onboarding | Post-signup wizard (age gate, preferences, attribution) |
/subscribe | Plan selection — Hobby $9.99 / Pro $24.99 / free trial |
/profile | Consumer profile — name, DOB, hobby preferences |
/waitlist | Public beta signup |
/auth/signup | Invite-code signup — Google / Discord / email |
| Route | Purpose |
|---|---|
/admin/products | Product listing |
/admin/products/new | Create product with CH set-name lookup |
/admin/products/[id] | Product dashboard — matching, odds, BreakIQ Insights, Pricing Audit |
/admin/products/[id]/edit | Edit product — display name, CH set name, pricing |
/admin/products/[id]/players | Read-only product roster (links to the global player editor) |
/admin/players | Global player directory — icon tier, HV flag, risk flags, prospect rank (players are global; cards are product-specific) |
/admin/data-health | Per-product CardHedger coverage + CH additions feed + live probe |
/admin/market-delta | Market Delta Watch — model price vs. observed asks (logged breaks + /break-price captures) |
/admin/import-checklist | Checklist import wizard (PDF/XLSX/CSV) |
/admin/breakiq-betz | Global BreakIQ Insights editorial scores |
/admin/waitlist | Waitlist management — approve, send invites |
/admin/products/newch_set_name)This is the beginning of the README. Read the rest at the original. Read the full README ↗