⚙ First-Time Setup
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
0-0
Total P&L
Record
0-0
Win Rate
ROI
Units P&L
Wagered
Live Scores — Today's Bets
No active bets today.
Recent Plays
P&L Over Time
Performance by Bet Type
Performance by Tier
Loading games...
Card Settings
Plays
#Game / BetTypeOddsUnitsTierRisk / Win
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
Current Confidence Ratings
Season Pattern Performance
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.
Query
Analyzing with v5.2 model...
DATE
UNIT SIZE ($)
BANKROLL ($)
ODDS API KEY get free key ↗
Ready to fetch today's games...
⚡ Fetch games, enter odds, and click ANALYZE FULL SLATE
HOW TO USE — DAILY WORKFLOW

STEP 1 — FETCH
Click "FETCH TODAY'S GAMES". The tool auto-loads today's full MLB schedule, confirmed starting pitchers, stadium/park data, and weather for every outdoor game. This takes ~5 seconds.


STEP 2 — RATE PITCHERS
For each game, rate the away and home starter:
· ACE = Top 15 arms in MLB (deGrom, Glasnow, Cole, Cease, Flaherty etc.)
· SOLID = Reliable mid-rotation starter
· BACKEND = 5th starter, spot start, or replacement level
This is the only manual step that requires baseball knowledge. Takes ~2 minutes for a full 15-game slate.


STEP 3 — ENTER ODDS
Look at your sportsbook screenshot and type in the odds for each game:
· ML Away / ML Home
· RL Away (+1.5) / RL Home (-1.5)
· Total line + Over odds / Under odds
· F5 Under odds (if shown)
You only need to fill what's available — blank fields are skipped.


STEP 4 — ANALYZE
Click ANALYZE FULL SLATE. The model runs every bet type across every game, applies all 10 factors, enforces over/under complementary probabilities, and outputs a ranked card in seconds.


DATA SOURCES (all free, no API key)
· Schedule + Pitchers: MLB Stats API (official)
· Weather: Open-Meteo API
· Park Factors: Built-in database (all 30 stadiums)
· Odds: You input manually from your book


IMPORTANT
This tool catches systematic edges (weather, park, pitcher matchup). For breaking news (last-minute pitcher switches, lineup injuries), always cross-reference before betting.

Dynamic Pattern Confidence System
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 (v5.2): Power-K (K/9 11+) = HALF penalty — bounces back faster (Mize confirmed). Command/GB = full ACE→SOLID through start 3.
A5 · Pitch count managed (new v5.2): 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 (v5.2)
B1: Implied odds → true prob. Edge = true − implied. Min 4% to consider.
B2: Pitcher tier: ACE / SOLID / BACKEND + Power-K / Sinker-GB / Command / Cutter.
B3: Pitcher form: L5 ERA, xERA, FIP, SIERA, WHIP. FIP-ERA gap 0.7+ = regression. BABIP outlier = luck flag.
B4: Rest: ≤3d = -4% · 4-5d = 0% · 6-7d = +2% · 8+ = -3% rust.
B5: Lineup wRC+: 70% weight games 1-15. Steamer projections. Top-3 order most important.
B6: Platoon splits: Elite wOBA vs hand = +5% · Good = +2% · Weak = -4%.
B7: Bullpen: ERA ≤3.50 = +5% · ERA 4.20+ = -7% · TAXED (15+ IP last 3d) = -5% · Closer on IL = -3%.
B8: Team form: Runs scored L7 AND runs allowed L7 split separately.
B9: Ballpark: Hitter = GABP, CBP, Wrigley, Busch, Yankee. Pitcher = Petco, Oracle, T-Mobile, Citi, Dodger. Coors = +20% over.
B10 [v5.3 UPDATED]: 90°F+ = +10% · 80°F = +5% · 60-79°F = 0% · 50-59°F = -5% · Sub-50°F = -10% · Sub-45°F = -10% (capped, was -14% — research shows -14% overstated). Wind 10-14mph OUT = +7% · 15+mph OUT = +12% · 10-14mph IN = -7% · 15+mph IN = -12%. Cold + wind IN = stack fully. Oracle Park: architecture neutralizes wind — ignore Oracle readings. Dome/closed = no factor.
B11: Umpire zone: Wide = -4% · Tight = +4% · Neutral = 0%.
B12: Line movement: Sharp = +5% · Public only = -4% · None = 0%.
Tier C — Precision Factors (v5.2)
C1: BvP: 20+ PA for projection. Any negative career record vs opponent on debut = unit cap (D1).
C2 [v5.3 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 v5.2]: 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 [v5.3]: 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 [v5.3]: 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.
Edge → Units Scale
20%+ = 10u MAX  |  17-20% = 9u FIRE  |  14-17% = 8u FIRE
11-14% = 7u STRONG  |  8-11% = 6u STRONG  |  6-8% = 5u SOLID
4-6% = 4u PLAY  |  2.5-4% = 3u MARG  |  1-2.5% = 2u THIN  |  <1% = PASS
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
Pattern Performance
All time
TierIDPatternRecordHit %Model ConfStatus
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.
Add New User
Current Users
Betting Unit Settings
Amount per unit (default $50)
Change Password