Building a Fantasy Baseball Analytics App with Claude Code: A Law Student's Experience

✍️ OpenClawRadar📅 Published: March 25, 2026🔗 Source
Building a Fantasy Baseball Analytics App with Claude Code: A Law Student's Experience
Ad

A Navy veteran and law student with a 2017 computer science degree who hadn't touched code since graduation built a complete fantasy baseball analytics iOS app called Ball Knower using Claude Code for implementation while making all product and domain decisions. The app is live on the App Store and was developed during the student's final year of law school.

What Was Built

Ball Knower is a fantasy baseball analytics app that includes:

  • 1,313 MLB player profiles with Statcast percentile bars (color-coded bars from Baseball Savant)
  • Daily streaming pitcher picks scored 0-100
  • Keep-Trade-Cut dynasty rankings with ELO scoring
  • 1,241 MLB players + 72 FanGraphs prospects
  • 87 distinct metrics tracked per player

Technical Stack

Frontend: SwiftUI (iOS 17+), Swift Charts, StoreKit 2

Backend: Python 3.12, FastAPI, SQLAlchemy async, PostgreSQL, Redis, APScheduler

Infrastructure: Single DigitalOcean droplet, Docker

Data Sources: 30 scheduled jobs pulling from MLB Stats API, Baseball Savant via pybaseball, ESPN RSS, The Odds API, and Open-Meteo weather

Where Claude Code Excelled

  • Wired a FastAPI dependency injection chain to an async SQLAlchemy session to a Redis cache layer in minutes (would have taken days from documentation alone)
  • Debugged an async race condition in the subscription validation flow where the refresh token coordinator and StoreKit 2 listener were conflicting
  • Identified the problem and wrote an actor-based fix after being described the symptoms
  • Wrote approximately 70% of the raw lines of code
Ad

Where Claude Code Fell Short

  • Mapped 85% of data source columns correctly, but 15% returned nil silently with no errors or crashes
  • Missed column name mismatches (e.g., pybaseball returns brl_percent while database column was barrel_pct)
  • Confidently generated code requesting App Tracking Transparency permission for non-personalized ads, causing Apple to reject the build
  • Generated SwiftUI modifier chains that compiled but rendered incorrectly on edge cases
  • Used deprecated API patterns without mentioning they were deprecated

Developer's Role

The developer wrote or corrected the remaining 30% of code, which included:

  • Scoring algorithm weights
  • Cache invalidation logic
  • Subscription flow
  • Data column mappings
  • App Store compliance
  • Domain-specific decisions (dome stadiums don't have wind, spring training stats shouldn't weight equally, Baseball Savant's percentile API requires gap-fill logic for non-qualified players)

Development Metrics

  • 300+ development hours across one semester
  • 30 automated cron jobs running nightly starting 2:25 AM ET
  • 9 external data sources synced daily
  • 2 App Store rejections before acceptance (EULA labeling + unnecessary ATT permission)
  • Break-even: 13 subscribers at $3.99/month

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

AI Agent Overrules Human CEO in Multi-Agent Store Architecture
Use Cases

AI Agent Overrules Human CEO in Multi-Agent Store Architecture

An AI-operated store running on a Mac Mini with GitHub Actions had its CEO agent overrule a human decision about the deployment pipeline, which turned out to be correct. The architecture involves multiple coordinating agents with mechanisms for handling disagreements.

OpenClawRadar
LinkedIn Outreach Workflow Built with Claude for Prospecting and Engagement
Use Cases

LinkedIn Outreach Workflow Built with Claude for Prospecting and Engagement

A developer built a LinkedIn prospecting workflow using Claude that identifies relevant prospects, categorizes leads, finds recent posts, and handles engagement through likes, comments, and connection requests. The system prioritizes higher-engagement profiles and skips inactive ones.

OpenClawRadar
Building a 200k LOC Production App via Vibe Coding from a Phone
Use Cases

Building a 200k LOC Production App via Vibe Coding from a Phone

A developer built Vibe Remote, a mobile vibe-coding tool with ~200,000 lines of code (140k Go, 60k Swift), primarily by messaging Claude Code through the app from their phone. The project revealed key challenges like DRY violations and E2E test bottlenecks.

OpenClawRadar
OpenClaw agent replaces multiple SaaS tools for LinkedIn lead generation at 5x lower cost
Use Cases

OpenClaw agent replaces multiple SaaS tools for LinkedIn lead generation at 5x lower cost

A developer replaced €250/month in SaaS subscriptions with an OpenClaw agent running on a VPS for under €2/day, using model routing between Haiku and Sonnet for LinkedIn lead generation with 60-70% connection acceptance rates.

OpenClawRadar