How It Works
A sensor, a Pi, and a dashboard.
From the beam break on the machine to the leaderboard on the wall — here's the whole path.
The sensor catches every ball
A break-beam sensor mounted on the JUGS machine detects each ball that passes through — polling at 240 Hz with millisecond-level debounce so it doesn't miss a throw or double-count one.
The Raspberry Pi records it
A small Raspberry Pi on the machine logs every rep locally. The operator selects a player, presses start, and walks away — the Pi handles the counting.
Data syncs to the cloud
Reps stream to the cloud backend in real time. If Wi-Fi drops, the Pi keeps recording locally and syncs everything when the connection returns — no data lost.
Coaches and players see it
The dashboard updates live in any browser, and the animated leaderboard runs on the facility TV. Coaches check trends in the morning; players check their rank from their phones.
Why it holds up
Built in an active facility
NineReps wasn't adapted from something else — it was designed from day one for receiver development on JUGS machines, and it's deployed in a real training environment.
Accurate
240 Hz polling, 50 ms debounce, 80 ms refractory. In testing it has not missed a throw or double-counted one.
Resilient
The Pi stores all data locally and syncs when connectivity returns. A Wi-Fi outage doesn't cost you a session.
Simple
Select a player, press start, walk away. No new skill to learn — coaches open a browser, analysts adjust thresholds.
Affordable hardware
A Raspberry Pi and a break-beam sensor. We provision the kit; you mount it on the machine.
Deployment
Cloud by default, on-prem when you need it
Most programs run NineReps in the cloud — we host it, update it, and support it, so your staff has zero infrastructure to manage. For programs whose policies require data to stay in-house, NineReps also runs entirely on your own infrastructure, behind your own firewall.
See it on your machine.
A short walkthrough on a real session — leaderboard, dashboard, and the data behind both.