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.

1

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.

2

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.

3

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.

4

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.