BetScout · Sports Betting Analyzer
A vibe-coded sports-betting analytics platform that pairs matchup analysis, prop evaluation, and a conversational AI assistant inside a single dashboard.
BetScout is a web-based sports-betting analytics platform designed to help users make more informed betting decisions through data-driven insights and AI-assisted tools. The application provides matchup analysis, prop evaluation, and conversational AI assistance to guide users through betting scenarios. The project was developed using a modern full-stack architecture and a vibe-coding workflow, leveraging iterative prompting with AI tools to incrementally build functionality, and reflects on the effectiveness of AI-assisted software development.
The brief.
Sports betting has rapidly grown into a highly competitive and data-driven industry, fueled by increased legalization and widespread digital access. However, most bettors lack the tools or expertise needed to consistently make informed decisions. Existing platforms often present raw data without actionable insights, leaving users overwhelmed or relying on intuition.
BetScout bridges that gap by combining structured analytics with AI-driven assistance. The platform gives users tools to analyze matchups, evaluate betting props, and interact with an AI chatbot for guidance — and the project also doubles as a case study in vibe coding, where AI tools are used as primary collaborators in the software development process.
Target: Both new and active sports bettors — new users benefit from guided insights and simplified explanations, while experienced bettors leverage the advanced analytics to refine their strategies.
This project also serves as a case study in vibe coding, where AI tools are used as primary collaborators in the software development process.From the write-up
The landscape.
| Tool | Approach | Weakness | Our edge |
|---|---|---|---|
| Traditional sportsbooks | Surface odds and facilitate bet placement | Optimized for taking bets, not for explaining or analyzing them | Analysis-first surface that sits between the bettor and the sportsbook |
| Analytics websites | Data-heavy dashboards and statistics | Often unusable for casual bettors and lack actionable framing | Cleaner UI that translates raw statistics into projections and confidence bands |
| Emerging AI betting tools | AI-driven prop or pick recommendations | Limited in scope or behind expensive paywalls | Multiple analysis features and an integrated chatbot in a single free platform |
BetScout combines ease of use, multiple analysis features, and integrated AI assistance in a single platform — a matchup analyzer, a prop finder, and a conversational chatbot share state and styling instead of forcing the user to bounce between specialist tools.
The system.
BetScout is a full-stack web application organized around three primary features: the matchup analyzer, the prop finder, and the AI chatbot — all integrated into a unified, user-friendly dashboard.
The matchup analyzer lets a user select two teams and receive a structured breakdown of key statistics, recent performance, and relevant insights. The prop finder evaluates player-specific betting props by surfacing relevant statistics, projecting outcomes, and emitting an Edge value alongside a Confidence band (e.g., LeBron James points: line 17.5, projection 19.14, edge +1.64, confidence Medium). The AI chatbot complements both structured tools by handling open-ended questions about strategy, odds, and matchups in natural language.
A dashboard view aggregates the three features, plus a tutorial section that walks new users through implied probability, decimal vs. American odds, and arbitrage concepts. The interface is designed to be clean and responsive across devices.

The implementation.
The frontend is built with Next.js using both the App Router and Pages Router for a hybrid server/client rendering experience. It is implemented in TypeScript, styled with Tailwind CSS, and follows a design system based on shadcn UI components. Authentication is handled with Supabase and server-side cookies; the app is configured through environment variables and deploys automatically on Vercel from Git pushes.
The frontend communicates with a FastAPI Python service that fetches odds data, events, opportunities, and NBA analytics. The backend configures CORS for selected origins, organizes endpoints through modular routing, and persists data in PostgreSQL via SQLAlchemy with separate connections for general odds data and NBA analytics. The backend relies on raw SQL queries with JSON aggregation to efficiently structure responses.
Key endpoints include health checks, event listings, best-odds retrieval, opportunity detection, dashboard statistics, user preferences, NBA player search, team data, and matchup details. An odds-normalization layer converts decimal odds into American format and standardizes market structures across sportsbooks, and the system ships with a pytest suite that validates normalization and arbitrage logic.

Built with AI.
Where AI helped
- Incremental prompting kept development controlled and predictable — smaller AI-generated changes were easier to monitor and refine.
- AI tools were strongest in frontend development, especially replicating UI designs from screenshots via 21st.dev and image-based prompting.
- Windsurf as the primary IDE plus ChatGPT for prompt refinement produced a fast, stable iteration loop on free-tier resources.
- Open Code handled small patches and additions to existing functionality cleanly.
Where AI struggled
- Debugging and reasoning loops — AI tools repeatedly proposed ineffective fixes, creating cycles without meaningful progress.
- Suggested irrelevant interventions (e.g., unnecessary environment changes) rather than addressing root cause.
- Foundational setup tasks (Next.js, FastAPI, Supabase) were faster and more reliable when grabbed from official docs than from AI generation.
AI tools are most effective when guided with precise, incremental instructions; they excel at implementation but require human oversight for architectural decisions and debugging.
The evidence.

Limits & next.
Limits
- Reliable odds data is the binding constraint — paid APIs are prohibitively expensive at this scope, and scraping each sportsbook is both technically and legally fraught.
- Odds data updates very frequently during live games, increasing the risk of overwhelming external services and raising denial-of-service concerns.
- The originally-intended arbitrage detection feature was deferred; the platform delivers analytics and AI assistance but not live cross-book arbitrage.
- Without robust odds, the justification for a paid subscription tier is weakened.
Next
- Invest in more capable AI tools (e.g., a Claude Code subscription) to accelerate development and reduce debugging overhead.
- Resolve the odds-data pipeline so the originally-intended arbitrage detection feature can ship.
- Expand analytics breadth and improve AI reasoning, including personalization tied to user preferences.
- Tighten the prop finder's confidence model so the Edge value is calibrated, not just directional.