You need a free Supabase project to store data across users. This takes about 3 minutes.
Step 1 — Create Supabase project
Go to supabase.com → New Project → choose a name and password → wait ~1 min for it to provision.
Step 2 — Run this SQL (once)
In Supabase → SQL Editor → paste and run:
create table if not exists users (
id uuid primary key default gen_random_uuid(),
username text unique not null,
password_hash text not null,
role text default 'viewer',
created_at timestamptz default now()
);
create table if not exists appdata (
id text primary key,
data jsonb not null,
updated_at timestamptz default now()
);
alter table users enable row level security;
alter table appdata enable row level security;
create policy "allow all" on users for all using (true) with check (true);
create policy "allow all" on appdata for all using (true) with check (true);
Step 3 — Paste your credentials
In Supabase → Project Settings → API → copy Project URL and anon public key.
Step 4 — Set admin credentials
MLB Tracker
2026 Season · v6.0
⚾ MLB Tracker
—0-0
MLB Tracker
2026 Season · v6.0
P&L
—
Record
0-0
Units
—
?
—
—
Dashboard
2026 season overview
Total P&L
—
Record
0-0
Win Rate
—
ROI
—
Units P&L
—
Wagered
—
Pending Card
—
Live Scores — Today's Bets
No active bets today.
Recent Plays
P&L Over Time
No graded plays yet — chart will appear after first result
Performance by Bet Type
Performance by Tier
Live Scoreboard
All MLB games today — click any game for full detail
Loading games...
Game Detail
Today's Card
Enter and manage pending card
Card Settings
Plays
#Game / BetTypeOddsUnitsTierRisk / Win
Auto-Grade Log
Log Results
Grade open plays
History
All logged days
Parlay Builder
Combine plays into a parlay — see combined odds and payout
Leg / BetOdds
Parlay Odds & Payout
$
Add at least 2 legs to calculate
Quick Add from Today's Card
No plays on Today's Card yet
Pattern Tracker
Live confidence ratings — updates as you grade results
Current Confidence Ratings
Season Pattern Performance
EV Calculator
Expected value, edge, and Kelly sizing for every bet
What is EV?
Expected value = how much you win on average per $100 bet. Positive EV means the bet profits long-term.
Edge %
Your true probability minus the book's implied probability. Anything above 3% is a strong edge.
Kelly Criterion
Optimal bet size = edge / odds. Most pros use ¼ Kelly to reduce variance. Never bet full Kelly.
Break-even %
Win rate you need at given odds just to break even. -110 requires 52.4%. Your true prob must beat this.
Bet Analysis
Game / BetBook OddsTrue Prob %Break-evenEdgeEV per $100Kelly UnitsVerdict
Reading your results
Strong play — bet it
Edge > 5% · EV > +$5/100 · Kelly > 2u. Book is giving you significantly better odds than your true probability justifies.
Marginal — consider it
Edge 2–5% · EV +$2–5/100. Worth betting at reduced size. Common on totals at -110 where your edge is real but narrow.
Negative EV — skip it
Edge < 0% · EV negative. Your true probability is lower than the implied odds. No matter how good the narrative feels, this loses long-term.
AI Analysis
v6.0 model rules applied automatically
Query
Analyzing with v6.0 model...
Board Analyzer
v6.0 model · HL arm status (TAXED/WARM/FRESH) · K% · platoon · FIP · BB/9 · travel fatigue
⚡ Fetch games, enter odds, and click ANALYZE FULL SLATE
BOARD ANALYZER — v6.0 DAILY WORKFLOW
MLB betting model · 17 live patterns · 51 tunable weights · auto pattern tracking
DAILY STEPS
STEP 1
FETCH TODAY'S GAMES
Click "FETCH TODAY'S GAMES". Auto-loads the full MLB slate: confirmed starters, team records, streaks, rest days, bullpen data, stadium park factors, and live weather for every outdoor game. Takes ~8–12 seconds. Games restore from cache if you've already fetched today.
STEP 2
RATE PITCHER QUALITY
For each game, set the starter tier using the ACE / SOLID / BACKEND / AUTO buttons:
· ACE — Elite arm: ERA <3.20, K/9 9+, consistent track record
· SOLID — Reliable mid-rotation: ERA 3.20–4.50
· BACKEND — 5th starter, opener, or replacement level
· AUTO — Let the model infer from fetched ERA/WHIP/K9 stats
This is the only step requiring judgment. Takes ~2 min for a 15-game slate.
STEP 3
ENTER ODDS
Type in current book odds for each game. Only fill what's available — blank fields are skipped:
· ML Away / ML Home (moneyline)
· RL Away +1.5 / RL Home -1.5 (run line)
· Total line + Over odds / Under odds
· F5 Under odds (first 5 innings under)
Odds auto-save as you type. Tip: enter ML first — the model uses ML odds as the primary edge anchor.
STEP 4
ANALYZE FULL SLATE
Click "ANALYZE FULL SLATE". The model runs all 4 bet types (ML, RL, Total, F5) across every game, applies 51 weighted factors, fires all 17 patterns, enforces hard caps, and outputs a ranked slate in ~1 second.
Results appear in two tabs:
· 📋 CARD — Your top 7 plays by edge (D8 cap enforced). These are your actual bets.
· 📊 ALL ANGLES — Every positive-edge play across all games, no cap. Use for research and pattern tracking.
STEP 5
SEND TO CARD + LOG RESULTS
Click + CARD on any play to add it to Today's Card with pattern tags automatically attached.
After games finish, go to Log Results → set each play W / L / P.
Pattern tallies update automatically when you grade — no manual scoring needed.
Locked cards move to History. Pattern Tracker updates in real time.
READING THE ANALYSIS OUTPUT
TRUE PROB — Model's estimated win/cover probability after all factors applied.
IMPLIED — Book's implied probability from the odds you entered. Edge = True − Implied.
EDGE % — The gap between model and market. Plays below +3% edge are suppressed.
REC STAKE — Units recommended by edge tier. Capped by D4 (April/May) and D8 (7-play max).
½ KELLY — Half-Kelly dollar stake based on bankroll setting. Reference only — not required.
PREDICTED RUNS — Model's projected total. "Model agrees" = model and book align. "Model diverges" = model sees different value.
FACTOR TAGS — Green = adds to true prob, Red = subtracts. Each tag shows the exact % contribution.
BP SECTION — High-leverage arms for both bullpens with TAXED / WARM / FRESH status and pitch counts.
UNIT TIERS + HARD CAPS
Edge → Units
≥20% edge → 10u 🔥🔥 MAX
17–19% → 9u 🔥 FIRE
14–16% → 8u 🔥 FIRE
11–13% → 7u STRONG
8–10% → 6u STRONG
6–7% → 5u SOLID
4–5% → 4u PLAY
2.5–3.9% → 3u MARG
1–2.4% → 2u THIN
Hard Caps (always enforced)
D4 — Totals cap: Apr ≤20 → 6u max · Apr 21–May 1 → 8u · May 2+ → 10u
D8 — Max 7 plays per slate (CARD tab). ALL ANGLES lifts this cap for research.
P5 — ML -160 to -200 → 4u cap. Above -200 → skip (vig destroys ROI).
D3 — RL not recommended above -200 ML favorites.
ML hard cap — No play can exceed 78% true prob.
Totals hard cap — No total play can exceed 70% true prob.
ACTIVE PATTERNS — v6.0 (auto-updates from live model)
Loading patterns…
PATTERN TRACKER — AUTO-GRADING
Pattern W/L tallies update automatically when you grade plays in Log Results. No manual scoring.
When you use + CARD to add plays from the Analyzer, pattern IDs are stored with the play. When you set a result W/L, those patterns are scored instantly.
For legacy plays (added manually without pattern tags), the system parses your card notes for pattern ID mentions (e.g. "P4 HOU @ COL") and infers the tags on first grade.
Click ⟳ SYNC ALL on the Pattern Tracker page to rescan all historical plays and backfill any ungraded results.
New patterns added to the model are auto-registered in the tracker the first time they fire and get graded — no code change needed in the tracker.
DATA SOURCES
Schedule + Pitchers — MLB Stats API (official, free)
Team stats + streaks — MLB Stats API yearByYear endpoint
🔴 Breaking news — This model catches systematic edges. Always cross-reference for last-minute scratches, lineup injuries, or weather delays before betting.
🔴 Early season (Mar–Apr 20) — D4 cap limits totals to 6u. Small sample sizes mean pitcher stats are unreliable; model applies April timing lag (-2.5% hit trajectory).
🟡 Pattern tracker calibration — The model's historical confidence ratings (S/A/B) come from pre-season research. Your live W/L data in the tracker is what actually matters. Divergence between the two is a calibration signal.
🟡 MODEL_WEIGHTS — All 51 factor values are defined in one object at the top of the source file. Adjustments based on your live data are one-line changes. Don't adjust until you have 50+ graded plays per pattern.
🟢 ALL ANGLES tab — Use this for research. Log lower-confidence plays at 1-2u to build sample size faster. The D8 cap only applies to the CARD tab.
How it works: Each pattern has a confidence rating updated after every weekly review. Hit = +2% confidence (max +6%/week). Miss = -4%. Two consecutive misses = -8% immediately. Confidence directly controls edge applied and minimum units.
S-TIER 80%+Full edge. Normal scale min units. Bet aggressively when firing.
A-TIER 65–79%Standard edge. Normal unit scale.
B-TIER 50–64%Edge -25%. Unit cap -1u. Needs confirmation factor.
C-TIER <50%Monitor only. 1u parlay legs max. No standalone plays.
Promotion path: New patterns enter at 55% C-tier → A-tier after 5+ hits or 3+ hits / 0 misses → S-tier after 8+ hits with miss rate under 20%.
All Patterns — Current Confidence Ratings
S-Tier — 80%+ · full edge · min 5u
S-92%Pattern 4 — BACKEND vs BACKEND → OVER default. 6/6 hits — 100%. Zero misses. Both xERA 4.5+. Both exit by inning 4-5. Bullpen chaos. Default over regardless of park or weather. Min edge 4%. Min units 5u. Stack +3% at hitter park (GABP, CBP, Coors). Confirmed: CWS/MIA (13R), PIT/CIN (11R), MIA/CWS (11R), MIL/KC ×3 (10R, 13R, 13R).
S-88%Pattern 6 — Sinker/GB suppression → under modifier. 5/5 — 100%. 55%+ career GB rate → -5% over / +5% under. Stacks on tier. Applies even at Coors (Sanchez confirmed — Coors went under both games). Confirmed arms: Holmes (60%+), Abbott (58%), Kirby (55%+), Pallante (67%), Soriano (MLB GB leader), Sanchez (PHI).
S-82%Pattern 2 — Under setup checklist. 5/6 — 83%. Confirm 2+ of 4: (1) ACE or K/9 10+ arm, (2) dome or pitcher park, (3) total in bottom 25% of slate, (4) sub-50°F outdoor OR both teams cold offense L7. Score: 1=PASS · 2=MARG 3u · 3=SOLID 5u · 4=FIRE 6u.
A-Tier — 65–79% · standard edge · normal units
A-78%Pattern 1 — Over setup (BACKEND + hitter park + wind). 3/4 — 75%. All THREE required: (1) BACKEND arm, (2) hitter-friendly park, (3) wind 10+ mph OUT or 80°F+. ACE/GB arm can negate. Confirmed: WSH/PHI (15R), CWS/MIA (13R), LAD/WSH ×2 (15R, 14R).
A-72%Pattern 3 — ACE vs ACE → UNDER default. Both K/9 10+. Full 100% park+weather cap. 15% min edge for over. NEVER play over below 15% edge. Biggest loss ($400) came from violating this rule.
A-70%D6 — Sweep prevention. 2/3 — 67%. Team facing sweep (0-2 in series), priced as dog +100+. +3% true prob to sweep-facing team. Best use: fade sweeping team at -200+ when true odds ~-110. Confirmed: ATH beat HOU +240, MIA beat NYY.
A-68%D7 — Series finale + rest (the Sunday rule). All 3 must fire: (1) series finale or Sunday/Monday fav playing 3+ straight, (2) fav -150+ with resting regular or no off-day, (3) national TV or marquee team. Effect: -3% fav edge, -1u, +2% dog. Does NOT fire if ACE starts for fav. Stacks with D6 — max +5% combined dog bump.
B-Tier — 50–64% · edge -25% · unit cap -1u · needs confirmation
B-68%Pattern 7 — Hot team ML dog. 3/3 (small sample). Team 7-2+ in games 1-15, priced as dog +100 to +160. Books still on preseason pricing. +4% to true prob. Requires clean matchup. Confirmed: STL swept DET, MIL beat BOS, PIT beat BAL.
B-62%Pattern 5 — Clean ML. 4/7 — 57%. Tier gap + lineup edge + -180 or better. No debut flags, no age caps. Losses from ignoring D-tier, not the pattern itself.
B-60%Pattern 8 — Cold + series finale → under stack. 1/1. D7 fires AND sub-50°F outdoor: primary play is UNDER. Stack D7 (-3%) + B10 cold (-10% to -14%). Confirmed: CWS/TOR cold series finale = 3 total runs.
Sharp Patterns — statistically backed, season-long ROI data
A-74%S3 — Wind 10+ mph IN → Under. 960-781 record (55.1%) since 2005, +6.4% ROI (Action Network Bet Labs). Wind turning HR into warning-track outs. Does NOT fire in domes. Stacks with P2 under checklist. Best at: Wrigley, Fenway, Cleveland.
A-68%S2 — Divisional home dog (+100 to +160). +9% ROI in home RLM system since 2005 (Sports Insights). Div familiarity levels field — public overvalues visitor. Only fires for dogs up to +160. Best value early season when books are slow to adjust. Stacks with D7 series finale.
B-65%D9 — DANG Under (day game after night game). Both teams played night game prior day, today's game before 5pm ET. Hitter fatigue, pitching prep down. -3 to -4% total lean. Stacks with D7 series finale for max -5%. Does NOT fire: ACE starting, Coors, dome.
B-62%S5 — Low total (≤7.5) + quality starters → Under. When books set a low total AND both starters are solid/ace quality, the market is pricing in a pitcher's duel. Under has positive expectation. Stacks with P3, P2.
B-60%S4 — Wind 8+ mph OUT → Over lean. 1,174-1,045 (52.9%), +3.6% ROI since 2005. HR booster angle. Weaker signal than S3. Stacks with P1 (BACKEND + hitter park + wind OUT) for max over boost.
B-58%S6 — Fade trendy public over. When public heavily betting over (65%+) and total hasn't moved up — books holding line = sharp under money countering public. Select line movement dropdown to "Public only" to activate. Action Network: 15-20 games under .500 when public loves an over at 66%+.
C-Tier — monitor only · 1u parlay legs · no standalone
C-55%Pattern 9 — Post-surgery ACE + elite offense → over lean. Starts 2-5 post-TJ/surgery, facing wRC+ 108+. 5 IP max effective. +3% over. Model IP at 5 max. Active arms: McClanahan, Woodruff.
MONITORPattern 10 — ACE/GB at Coors → under viable. 2 data points only. Not active. Promote to C-tier after 4+ data points.
Tier A — Pattern Recognition
A1 · Pattern-first: Match to highest-confidence pattern first. Never play against your own pattern signal.
A2 · Dominant starter override: Single K/9 10+ → cap park+weather 50%. Both K/9 10+ → 100% cap. ACE vs ACE = 15% min edge for over.
A3 · Sinker/GB modifier [S-88%]: 55%+ GB → -5% over / +5% under. Stacks always. Even at Coors. Confirmed: Holmes, Abbott, Kirby, Pallante, Soriano, Sanchez PHI.
A4 · Start-2 regression (v6.0): Power-K (K/9 11+) = HALF penalty — bounces back faster (Mize confirmed). Command/GB = full ACE→SOLID through start 3.
A5 · Pitch count managed (v6.0): Post-surgery starts 2-5 = PITCH COUNT MANAGED. Model as 5 IP max effective. Bullpen carries 6-9. Current: McClanahan (post-TJ), Woodruff (building up).
Tier B — Primary Modifiers (v6.0)
B1: Implied odds → true prob. Edge = true − implied. Min 4% to consider.
B12: Line movement: Sharp = +5% · Public only = -4% · None = 0%.
Tier C — Precision Factors (v6.0)
C1: BvP: 20+ PA for projection. Any negative career record vs opponent on debut = unit cap (D1).
C2 [v6.0 UPDATED]: Replace record-based bumps with run differential. Run diff +20+ in first 15 games = +3% (genuine quality signal). Run diff -20+ = -3%. Early W-L records are dominated by 1-run game luck — unreliable before 30 games. Separately: 5+ hitters hot (.300+/OPS .900+) = +4-6%. 5+ cold = -4-6%.
C3: Pitcher type vs lineup: Power-K vs high-K = extra suppression. Soft-toss vs pull hitters = damage risk.
C4: F5 evaluation: Run on every strong starter mismatch. Manual grade required.
C5: xERA/xFIP regression: Gap 1.0+ = ±4-6%. Never bet against strong positive regression. Gilbert xERA 2.27 vs ERA 6.75 = market pricing ERA → SEA ML value.
C6: Early-season discount (games 1-15): Form 70% weight. 0-3/0-4 teams = +5% regression bump.
Tier D — Hard Override Rules
D1 [UPDATED v6.0]: Debut + pitch count: New team / return 6+ months / Japan-KBO = +15% variance. Negative career record vs opponent = 3u HARD CAP. Post-surgery starts 2-5 = PITCH COUNT MANAGED (5 IP max). Current: McClanahan, Woodruff.
D2: Age: 38-40 = -2u · 41+ = 3u HARD CAP non-negotiable. Active: Scherzer (TOR) 41+ · Sale (ATL) 38.
D3 [v6.0]: RL threshold updated — ML -200+ skip entirely (aligned with P5 gate). ML -160 to -200 = 4u cap requires 10%+ edge. Research: favorites at -150+ = -310u since 2005 despite 63% win rate.
D4 [v6.0]: Tiered totals cap — Pre-Apr 20: max 6u. Apr 21–May 1: max 8u. May 2+: full 10u. Extended from Apr 20 because early-season variance (cold weather, unproven rotations) persists through May in Northeast/Midwest parks.
D5: Postponement: 40%+ rain = conditional 3u max. 80%+ = skip. Don't lock until 2h before first pitch.
D6 [A-70%]: Sweep prevention: Game 3 of 3-game series. One team won all prior. Sweep-facing dog gets +3%, sweeping team -3% confidence. Best use: sweeping team at -200+ when true odds ~-110.
D7 [A-68%]: Series finale + rest: All 3 must fire: (1) series finale or Sunday/Monday fav playing 3+ straight, (2) fav -150+ with resting regular or no off-day, (3) national TV or marquee team. Effect: -3% fav, -1u, +2% dog. ACE starting for fav = rule does not fire.
D8: Quality filter: Max 7 plays/slate. Never 3+ totals same direction. B/C tier cannot sole-anchor plays above 3u.
Confidence adjustments: S/A-tier = full scale. B-tier sole anchor = -1u, max 4u. C-tier = max 2u. Age 41+ = 3u max. Debut + neg record = 3u max. Totals Apr 20 = 6u max. D7 = -1u from sizing.
Calibration Log
Model Audit
Weekly pattern performance — keeps v6.0 honest
Pattern Performance
All time
TierIDPatternRecordHit %Model ConfStatus
Roadmap
v6.0 · loading…
Share Card
Generate a screenshot-ready best bets card for today
Card Preview
Card Options
How to share
Download the PNG and drop it into Discord, iMessage, or Twitter/X. The card includes today's date, your plays, and season record footer. Tap Regenerate after adding plays from Today's Card.