Core & 2D SVG
Free
- Flat and monoline SVG figures
- Animated SVG and round thumbnails
- Runs in Node, browsers and Workers
- MIT code, CC0 movement data
3D exercise SDK for iOS, Android and the web
A real-time figure for every exercise screen in your app. Rotate it, scrub the rep and watch the working muscles light up.
Loading the live figure
Most apps ship a looping clip for every exercise, shot from one angle in one style. Repglyph renders the figure live on the device, so it behaves like part of your interface, not a file you embed.
Form you can trust
Every pose is validated against cited professional and clinical standards. Before a pose ships, it is measured against our written form standard, which draws on 273 references: ACE, NSCA, ACSM and NASM coaching guidance, AAOS and CDC joint-range norms, and peer-reviewed biomechanics. Every threshold names its source. Where sources disagree, both values are recorded and the one we chose is marked.
We also check the figures against people. Joint angles from licensed motion-capture datasets (CMU, UI-PRMD and the ARKit-versus-Vicon set from Reimer et al., 2022) are compared with the rig, and any keyframe that drifts outside the recorded range gets corrected. All of this is written up in a clinical form report, which is a draft awaiting clinician review.
Where we couldn't find a source, we say so. No peer-reviewed joint angles exist yet for the carry family's sled push and pull, so that family is still marked partial.
ROM · hip extension≤ 20°
ROM · knee flexion≤ 145° active
wrist.rangeExtension ≤ 70° active. About 90° only for flat-palm floor support. ≤ 15-20° when holding an implement.
squat.shinForward shin tilt 15-40° with the heels flat
pushup.handsWrist within 3 cm of directly under the shoulder
Every thumbnail below was rendered by the same web renderer from the same rig file. Open any of them to see it live.
The working muscles glow in time with the rep: brighter on the lift, softer on the way down, with a pulse at the top. Secondary muscles glow dimmer. Switch the stage or pick an accent, and the glow, the suit seams and the stage ring follow. Nothing is rendered ahead of time.
The free core turns the same movement definitions into crisp SVG figures for lists, watch faces, print and email. Choose flat or monoline, light or dark, or round thumbnails that work at 56 pt. Each 2D figure here is inline SVG, shown with its file size.
Round thumbnails: tighter crop, fuller limbs and primary muscles only, so they still read at list size.
Each platform has its own native renderer reading the same rig file, with the same lighting, framing and interaction model, so a squat looks the same in your iOS, Android and web apps.
struct ExerciseCard: View {
@StateObject private var figure = FigureController()
var body: some View {
FigureView3D(catalogID: "D04AC939", muscle: nil,
body_: "female", controller: figure)
.frame(height: 320)
}
}
@Composable
fun ExerciseCard() {
RepglyphFigure(
catalogId = "D04AC939",
modifier = Modifier.fillMaxWidth().height(320.dp),
body = "female",
)
}
import { loadRigs, createFigureViewer } from '@repglyph/three';
const rigs = await loadRigs('/repglyph_rigs.json.deflate');
createFigureViewer(document.querySelector('#stage')!, {
rigs,
exerciseId: 'D04AC939',
theme: 'dark',
});
60 fps target. So far it has been measured on the iOS Simulator, the Android emulator and desktop Chrome, where it holds 60 fps while you drag it. We'll publish numbers from real phones once we've measured them.
Setwise is our own workout app, and Repglyph started there. Every exercise opens on a live figure you can rotate and scrub, and the lists use 2D thumbnails from the free core. This page runs the same renderer on the same file Setwise ships.
Pricing
We haven't set prices yet. Join the waitlist or get in touch, and we'll work out terms with early partners directly.
Free
Early access
Contact us
Tell us which platforms you ship on. We'll let you know when the SDK opens up. We only email about Repglyph.
No. Repglyph shows exercise technique. Its poses are validated against cited professional and clinical standards, but they don't replace a coach, physiotherapist or doctor, and they aren't fitted to any individual.
An automated suite samples every movement, variant and body type and measures joint angles, contacts, balance, grip width and range of motion against our written form standard. Each check passes, fails or is exempt with a written reason. The current run is 2,633 checks with 0 failures, and 53 of the 54 movement families are verified. The figures are also compared with joint angles from licensed motion-capture datasets.
The rig file for the whole library is about 0.5 MB compressed. It holds every movement, body and prop. On the web, the renderer is a small module on top of three.js. On the web it can also load one exercise at a time, about 15 KB each, so a page only fetches what it shows.
Yes. The rig file ships with your app and everything renders on the device. No network calls are needed to show a figure.
Yes. Figures are looked up by catalogue ID, and Setwise maps hundreds of its own IDs that way. Mapping your catalogue, and adding custom movements, is part of early access.
Every figure has generated alt text. The viewer works from the keyboard (arrow keys, Space, Home) and respects reduced-motion settings on iOS, Android and the web, which turns off the intro, the auto-orbit, inertia and other decorative motion.
The SDK is in early access, and pricing hasn't been decided. Join the waitlist and we'll be in touch.