Skip to main content
Pitch Tracker · v1

A Pitch Tracker Built for Youth Baseball Coaches

Capture every bullpen pitch on your phone, then see strike percent, command, velocity, and rolling workload counts on the web — for one pitcher or your whole staff.

Cross-team workloadMulti-pitcher per sessionOffline-ready capture
How It Works

From the Bullpen to the Browser in Three Taps

1

Start a Bullpen

Pick one pitcher or three. The session opens on your phone with each pitcher's recent workload visible on the start screen.

2

Tap Where Each Pitch Lands

Easy mode: tap the catcher's-view zone exactly where the pitch crossed. Aim mode: tap target, then tap result — the app stores both for command analytics. Multi-pitcher? Switch active pitcher with one pill tap.

3

Review the Charts

End the session — five native-SVG charts render automatically. Print it, or send a magic link to a parent for a sanitized read-only view.

Mobile Capture

Capture Every Pitch — Right From the Mound

The Pitching tab in the CompeteHQ mobile app is purpose-built for the mound. Tap, tap, end. Idempotent saves. Offline-first.

9:41
LIVE · BULLPEN · 18m
Pitch Tracker
Live
Lakers 12U
27of 75
easy
aim
#7Cole R.·18#22Joey M.·9+ Add
FBCUCH
RecentFB · Z5 · SCU · Z11 · BFB · Z2 · S
Live Pitch Tracker
9:41
TUE · APR 28 · BULLPEN
Bullpen Review
27 pitches · 18m · Lakers 12U
Cole R. · 18
Joey M. · 9
12Strikes
6Balls
67%Strike%
54%Cmd%
Pitch Mix
  • FB12 (67%)
  • CU4 (22%)
  • CH2 (11%)
TeamHQ
Practices
Library
More
Pitching
Bullpen Review
Web Analytics

Coach the Whole Staff From One Dashboard

Drill into any pitcher and see the same five charts coaches print on game day. All native SVG — no chart library, no flicker, no client JS.

competehq.io/teams/lakers-12u/pitching

Pitching — Lakers 12U

Monitor every pitcher's workload across all their teams.

Tracking on
Cross-team rolling workload · 7d / 30d / season totals per athlete
7
Cole ReyesRHP · Age 12
Last bullpen 2d ago
22 / 75
22
Joey MartinezLHP · Age 12
Last bullpen 4d ago
58 / 75
14
Marcus ChenRHP · Age 13
Last bullpen 1d ago
78 / 85
9
Diego ParkRHP · Age 11
Last bullpen 8d ago
0 / 50

Team Pitching Hub — /teams/lakers-12u/pitching

competehq.io/teams/lakers-12u/pitching/cole-reyes

Cole Reyes

#7RHP · Bats R · Age 12
22 7d | 14 30d
Last BullpenApr 26, 2026 · 2 days ago · Strike 67% · Cmd 54%
Season (365d)312 pitches
Sessions14
Last bullpen3 days ago · 22 pitches · 67% strikes
Window
Strike Zone Heatmap
Pitch Mix
Strike % Trend
100%50%0%
Command %
100%50%0%
Velocity Trend (mph by pitch type)
75655545

Per-Pitcher Detail — /teams/lakers-12u/pitching/cole-reyes

Rolling Workload

Counts that Cross Teams, Not Stop at the Roster Edge

Every pitch is keyed to the athlete, not the team. Rolling totals over 7 days, 30 days, and the trailing season follow the kid wherever they play — so the head coach standing on the mound today sees the truth, regardless of which jersey caused the load.

22
Last 7 days

Rolling 7-day pitch count for the athlete across every team they're rostered on.

85
Last 30 days

Trailing 30-day total — handy when the season ramps up and weekends pile up.

420
Trailing 365 days

Season-long roll-up. Surfaces who had a heavy spring and who is still building back from rest.

Side-By-Side Bullpen

One Bullpen, Multiple Pitchers

Other trackers force one session per pitcher. CompeteHQ lets a pitching coach run a side-by-side bullpen with two or three pitchers in the same session — every pitch is tagged to the right athlete, and each pitcher's workload thresholds are enforced individually.

  • Pitcher pill row — switch active pitcher with one tap
  • Per-athlete pitch-type defaults are remembered automatically
  • Rolling workload counts tracked individually per pitcher
  • Review screen splits the session into per-athlete tabs
9:41
START BULLPEN
Start Bullpen
Lakers 12U
Pitchers · 2 selected
7
Cole ReyesRHP · 1B
22
Joey MartinezLHP
14
Marcus ChenRHP
9
Diego ParkRHP · CF
Magic-Link Guest Share

Send the Bullpen to Mom and Dad — No Account Needed

After a bullpen, generate a magic link. The pitcher's parent gets a sanitized report — just first name plus last initial — with the heatmap, pitch mix, and a pitch-by-pitch table. Links expire in 30 days, are SHA-256 hashed at rest, and can be revoked instantly.

  • Tokens are SHA-256 hashed — your raw token is never stored
  • 30-day default TTL, configurable up to 365 days
  • Sanitized "Joey M." display name — no full PII leaks
  • Coach can revoke any active link in one tap
competehq.io/shared/bullpen/PtchTrkrDemo_202…
Shared Bullpen Session

Joey M.

Apr 28, 2026·27 pitches
This share expires on May 28, 2026.
Five Charts

Five Charts. Every Bullpen. Zero Clicks.

Every chart you'd build in a spreadsheet, generated automatically from a bullpen you tracked on your phone.

Strike-Zone Heatmap

Server-aggregated from exact-location pitches into a 3×3 in-zone grid plus four chase corners. Cells shade from chip-grey to brand-cardinal as count climbs.

Pitch Mix Donut

Sorted-by-frequency wedges, deterministic per-pitch-type colors, total in the center. Mirrors the mobile review screen.

Velocity Trend

Per-session scatter with one trendline per pitch type (drawn only when ≥ 3 sessions exist). Shows whether the pitcher is gaining velo or fading.

Strike % Trend

Cardinal line + dots per session, with a green 60% reference line — the typical youth-baseball benchmark for tournament-ready strike percentage.

Command Chart

Aim-mode only. Filled dots show command percent for sessions with target taps; open dots break the line on sessions with no targets.

Built for Game Day

Features That Matter on the Mound

Offline-Ready Capture

MMKV persistence + idempotent clientPitchId mutations. Drop signal at the field — every pitch still saves, and replays cleanly when you reconnect.

Cross-Team Workload

Rolling pitch counts roll up across every team a kid plays on. A coach on Team B sees the 80 pitches a pitcher threw for Team A yesterday — keyed off the athlete, not the jersey.

Free-Form Strike Zone

Tap the catcher's-view zone exactly where the pitch landed — not a 13-zone bucket. Pitches persist at the precise (x, y), so the per-pitch dot plot is true-to-tap and the 3×3 heatmap and command analytics roll up server-side.

Per-Athlete Pitch Types

App-default → team override → athlete override resolution. A pitcher's curveball stays a curveball even when they get called up to a new team.

Career-Long Profile

AthleteProfile follows the player team-to-team and season-to-season. Workload aggregates and pitch types travel with the athlete, not the roster.

Print + Share Reports

Letter-width browser-print bullpen session and pitcher progression reports, plus magic-link guest share for parents. No PDF library required.

FAQ

Pitch Tracker FAQ

What does CompeteHQ track for each pitcher?

Pitches per session, strike percent, command, velocity, pitch mix, a per-pitch dot plot, and a strike-zone heatmap — plus rolling totals over 7 days, 30 days, and the trailing season. Counts roll up across every team the athlete plays on.

Can multiple pitchers share one bullpen session?

Yes. Add two or three pitchers to a single bullpen and tag each pitch to the correct athlete. Every pitcher's totals are computed individually, and the review screen splits the session into per-athlete tabs.

What charts does the Pitch Tracker generate?

Five native SVG charts per pitcher: a strike-zone heatmap (3×3 in-zone grid plus four chase corners, aggregated from exact-location pitches), a pitch-mix donut, a velocity-by-pitch-type scatter with trendlines, a strike-percentage trend with a 60% target line, and a per-pitch-type command chart. All five are visible in the per-pitcher detail page on web.

Does the pitch tracker work offline?

Yes. Bullpen capture is offline-first. Pitches are written to MMKV-backed local storage with a client-generated ID and queued for sync. Mutations are idempotent server-side via clientPitchId so retries never double-count.

How does pitch location capture work?

Coaches tap exactly where the pitch crossed the plate on a catcher's-view strike zone. Pitches are recorded at the exact (x, y) coordinate the coach taps — never snapped to a zone bucket. Per-bullpen review screens render those taps as a continuous dot plot. The classic 3×3 strike-zone heatmap (plus four chase corners outside the rect) is computed server-side from the same coordinates, so coaches still get the familiar count grid for command analytics — without losing the underlying precision.

How do I share a bullpen report with a parent?

From the bullpen review screen, generate a magic link. The link opens a sanitized public page showing the pitcher's first name plus last initial, the heatmap, the pitch-mix donut, and a pitch-by-pitch table. Tokens are SHA-256 hashed at rest, expire in 30 days, and can be revoked at any time.

Can the pitch tracker import data from Pocket Radar or Rapsodo?

The data model is ready for it — every pitch supports velocity, spin rate, break, and release-point fields plus an importSource tag — but there is no Pocket Radar or Rapsodo client in the v1 release. Manual entry on the phone is the supported capture path today.

Track Your Next Bullpen With CompeteHQ

Free during beta. Mobile and web included. Set up your team in under five minutes.

Request Access