All case studies
Trading System

Custom Sports Bots

Sports Prediction Trading

Role

PM-builder · solo build

Duration

Q3 2024 · Q4 2024

Status

Live · subscription product

Custom Sports Bots

The problem

Retail traders on prediction markets (Polymarket, Kalshi) routinely overbet on confidence signals they can't quantify. The pros use Kelly criterion sizing and hard exposure caps; the retail crowd flies on gut feel and gets liquidated on a string of correlated losses.

We wanted a tool that gave retail traders the same bet-sizing discipline the pros use, automated, with AI confidence signals layered on top across the major sports markets. Subscription product, no platform fees, no upsell on bigger bets.

The approach

Kelly-fractioned bet sizing as the default. Never recommends a bet larger than the edge supports. Configurable Kelly fraction per user (default 0.25 for risk-aversion).

Exposure caps applied across correlated markets, not just per-bet. If three NBA games trade as a parlay, the system treats them as one position when sizing.

AI confidence signals across MLB / NBA / NHL / NCAA / Soccer / Esports. Sport-specific feature engineering, sport-specific models. No one-size-fits-all signal.

Three-layer caching for the dashboards (market data updates frequently, signals less so). Subscription billing via Stripe with metered usage.

What shipped

  • Automated trading bot scaffold (per-market, per-user) running on Deno workers.
  • Kelly bet sizing + cross-market exposure caps.
  • AI confidence signals across 6 sports.
  • Dashboard with portfolio view, per-bet recommendations, and risk-cap alerts.
  • Subscription billing + metered usage via Stripe.

Stack & decisions

Next.js + TypeScript

App Router. Heavy dashboard surface; caching is the headline.

Supabase

Postgres + RLS for multi-user. Materialized views for the leaderboards.

Deno

Trading bots run as Deno workers. Cheaper than EC2 at this volume, fewer moving parts.

Stripe

Subscription + metered usage. Webhooks reconcile to Supabase for entitlements.

Have something we should ship?

60-minute scoping call, then a clear plan for how we'd approach it.