How WeBetAI Is Built to Optimize Itself v10.0
Inside the deterministic feedback architecture that learns from every pick it makes. Published March 29, 2026.
WeBetAI runs a deterministic JavaScript pipeline that makes every pick. It tracks Closing Line Value on every bet, grades every result overnight, and is architected to feed that data back into tomorrow's picks automatically. Four feedback loops — CLV reliability multipliers, rolling edge thresholds, dynamic sport weighting, and an edge discount curve — will progressively turn on as clean data accumulates over the next 6 weeks. The model gets sharper every day without a human touching the code.
The pipeline touches the same data at three points each day. These are the touchpoints where self-optimization feedback gets wired in.
The background worker generate-picks-background.js fetches real-time odds from 13 sportsbooks, team stats and injuries from ESPN, daily-updated Elo ratings, and prediction market prices from Kalshi and Polymarket. A deterministic JavaScript engine computes projections, edges, cover probabilities, and quarter-Kelly unit sizing. Claude receives a pre-ranked candidate table and selects the top 3 picks — it can reject or reduce units, but structurally cannot override the math, add picks outside the table, or increase sizing.
The CLV tracker fires twice daily via scheduled Netlify functions. It pulls closing odds from The Odds API and compares them to odds locked at pick time. Every record stores sport, market type, unit size, and the exact delta. Positive CLV means sharp money moved toward us. Dual capture windows cover afternoon and evening games. Merge mode prevents duplicates.
Games finish, ESPN scores come in, results are graded. Win, loss, or push — every outcome is recorded alongside the original edge, unit size, sport, and market type.
Right now, Step 3 does not talk back to Step 1. The model wakes up the next morning with no memory of what happened yesterday. That is about to change.
Closing Line Value is the single most predictive metric for long-term betting profitability. If you consistently beat the closing line, you are a winning bettor — regardless of short-term variance. WeBetAI captures this on every pick.
Over 2+ weeks, CLV data accumulates into a reliability table:
| Sport | Market | Avg CLV | Picks |
|---|---|---|---|
| NHL | Puck Line | +8.2 | 14 |
| NBA | Total | -1.3 | 28 |
| NCAAB | Total | -4.1 | 19 |
This becomes a Kelly reliability multiplier inside computeEdgeTable. The pipeline already computes quarter-Kelly sizing — the multiplier scales it:
This is not a prompt instruction telling Claude to "be more careful with NCAAB." It is a number computed from real closing line data that mathematically reduces the unit size before Claude ever sees the candidate table. Claude cannot override it.
Minimum edge thresholds today are hardcoded: NBA 2.0 points, NHL 0.3 goals, MLB 0.8 runs. Set from the 66-day backtest. But static thresholds cannot adapt to seasonal shifts, roster changes, or market efficiency trends.
With trailing accuracy data, those thresholds become dynamic. A calibration step runs at the top of each daily pick generation:
This is code that reads its own results and adjusts its own sensitivity — every morning, automatically.
The 66-day backtest revealed a dramatic imbalance: NHL picks hit at 66.7% accuracy with 35.1% ROI but only represented 12% of total picks. NCAAB dragged at 48.7% accuracy and -7.0% ROI while consuming a disproportionate share of the daily allocation.
Dynamic sport weighting feeds trailing performance back into the cross-sport ranking. Instead of uniformly ranking all edges by z-score, the system applies a sport-level confidence multiplier derived from recent accuracy. Sports where the model has edge get more candidates surfaced; sports where it does not get fewer.
The backtest found that large computed edges (15+ points) hit at the same rate as small edges (3-10 points) — roughly 45%. A 20-point edge does not convert more reliably than a 5-point edge.
The edge discount curve compresses outlier edges before they enter Kelly sizing. A raw 20-point edge might be dampened to an effective 12-point edge for sizing purposes. The curve parameters update as more data accumulates — another self-tuning loop.
What to bet on — Rolling threshold adjustment pushes the model toward sports and markets where it has demonstrated edge, and away from those where it has not.
How much to bet — The CLV reliability multiplier sizes up where sharp money consistently confirms the model's edges, and sizes down where it does not.
Both adjustments happen in deterministic JavaScript before Claude touches anything — the same "math in code, not in prompts" principle that governs the entire v10 architecture.
| Milestone | Target | Requirement |
|---|---|---|
| CLV data collection | Active now | Dual-window tracking live since Mar 28 |
| CLV feedback loop | Mid-April 2026 | ~40-50 picks with clean CLV data |
| Rolling thresholds | Late April 2026 | 30+ days of graded v10 results |
| Edge discount curve | May 2026 | Sufficient edge-vs-accuracy data per bucket |
| Dynamic sport weighting | May 2026 | Per-sport trailing accuracy over 50+ picks |