AccelPerformaceEXponential

Real-time motion intensity scoring for any sport. Two phones record acceleration and rotation at 50 Hz — the APEX score (0–1000) captures exactly how hard you moved. Challenge friends across sports on the same universal scale.

APEX
0 – 1000 universal score
Powered by Mahony AHRS quaternion filter, ZUPT dead-reckoning, and a per-sport weighted intensity formula from live accelerometer + gyroscope data.
Rollerblade

Skate Tracer

Strap a phone to each skate and record a session. The live viewer plots your 3D route as a glowing Tron ribbon, shows G-force and rotation graphs, and scores the session with APEX weighting tuned for blade sports (wa = 0.45 / wg = 0.55).

Live Viewer Realtime Lab
Boxing

Boxing Tracer

One phone per wrist. Watch fist arcs rendered in 3D as you punch — ghost overlay compares the previous round. Graphs show peak G and rotation per hand. APEX weights punching intensity over rotation (wa = 0.65 / wg = 0.35).

Live Viewer Sensor Lab

How it works

1 — Record

Install AccelPerformaceEXponential on two Android phones. Phone 1 is SENSOR 1, Phone 2 is HUB. They pair via Bluetooth (Nearby Connections). Press START on one — both begin recording at 50 Hz.

2 — Stream

HUB writes both IMU streams to Firebase Realtime Database at 10 Hz. Anyone with the session ID can open the live viewer on this website and watch in real time from anywhere in the world.

3 — Score

At session end the APEX score is computed: APEX = (Σ|a−g|·wa + Σ|ω|·wg) / duration, normalised 0–1000. Saved to Firestore and visible on the social feed.

4 — Challenge

Send a "Beat My APEX" challenge to any user. Cross-sport challenges are valid — the formula is universal, only the sport weights differ. Follow other athletes and track their scores on the social feed.