Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기EV-based slot pricing for sports card group breaks. AI-powered buy/watch/pass signals.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
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: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)Important: The ch_set_name must exactly match CardHedger's canonical set name. Use the "Find on CH" button to search — wrong names silently return wrong results. See docs/manufacturer-rules/bowman.md for naming conventions.
/admin/products/[id] → Import ChecklistMatching: Uses set-catalog mode by default — pre-loads the full CH set (~94 API calls), matches locally by card number (confidence 0.95), falls back to individual Claude matching for unmatched variants.
Match rates run ~76–99% depending on how complete CardHedger's catalog is for the set (a CH catalog gap, not a matcher failure, is the usual cause of a low rate). Re-run after CH ships card-match changes — see docs/cardhedger-rematch.md.
Matching runs automatically during import and on-demand via "Re-run Matching" on the product dashboard. The ch_set_name on the product is used directly — no set-search needed at match time.
For autograph prefixes (BMA/CPA/BPA/FDA/CA/BSA), "Autograph" is appended to the query. Without it, base cards outrank autos in search results.
See docs/manufacturer-rules/bowman.md for full prefix reference and CH naming conventions.
FREE_TIER_ANALYSIS_LIMIT in lib/usage.tsStripe webhooks at /api/webhooks/stripe handle checkout, invoice, and subscription lifecycle.
/break-price structured .json upload schema + workflow