About

Built for IPPT.

PES (Physical Exercise System) turns a phone and a browser into a strict IPPT practice partner: camera rep counting for push-ups and sit-ups, and GPS lap timing for the 2.4 km run.

WHAT IT IS

No app. No hardware. Just your phone.

Pose detection runs on your phone in the browser, so there's nothing to install and no account to create. Your sessions are saved only in your browser. Video is never recorded or uploaded.

The optional AI Coach is a preview: it shows example responses, and when you tap it, it sends only your session numbers (rep timings, form angles or lap times, and an age band), never video, location or your name.

ORIGIN

The SETS story

PES is the web successor to SETS (Static Exercise Training System), a desktop application built for the same purpose. SETS received the MHA Innovation Award and was deployed across several SPF divisions, including Procom, SOC, Coastguard, and Land and Specialist divisions, in physical training and coaching programmes.

SETS was deliberately stricter than the SAF e-list system, so practising on it left a margin for test day. PES carries the same detection approach to the browser.

How it works

Strict by design.

STATION 01

Push-ups

Tracks your elbow angle from the shoulder, elbow and wrist. A rep counts only when the elbow goes below 90° on the way down and back above 150° at the top. A plank check rejects kneeling.

STATION 02

Sit-ups

Tracks your torso incline from the shoulders to the hips, filmed side-on. Lying flat is below 30°; a rep counts when you crunch past 55°.

STATION 03

2.4 km run

Counts your laps around a track with GPS and calls out your time. A screen wake lock keeps GPS alive, and any lap hit by a GPS gap is flagged as unreliable.

TEST MODE

60-second test

A 5-second countdown, voice and audio cues, then an estimated pass/fail for your age band. The pass marks come from PES's own table, which hasn't yet been checked against the official MINDEF tables.

ACCURACY

Stricter than the e-list

Thresholds are set stricter than the SAF e-list system on purpose. Partial reps don't count, kneeling push-ups are rejected, and full range of motion is enforced on every rep.

Counts are a training estimate, not an official result. Camera angle, lighting and full-body visibility all affect detection.

UNDER THE HOOD

Tech stack

  • MediaPipe Tasks Vision: pose landmarks via WebAssembly, GPU-accelerated
  • Model: pose_landmarker_lite, the fastest, mobile-optimised variant
  • Plain HTML, CSS and JavaScript: no framework, no build step
  • Web Audio and Web Speech for beeps and voice cues
  • Geolocation and Wake Lock for the run tracker
  • Sessions in your browser (IndexedDB); no accounts
  • Optional AI coach: a small Cloudflare Worker that receives numbers only
LICENCE

GNU GPL v3

PES is licensed under the GNU General Public License v3.0. You may use, modify and deploy it, but if you distribute or deploy a modified version you must keep the source open, credit the original author and publish your changes under the same licence. Full text: gnu.org/licenses/gpl-3.0.txt.