O
OpenPTS
v0.2.0 · MIT
v0.2.0 MIT License Python 3.11+ FastAPI OpenAPI 3.0

OpenPTS — Open Predetermined Time Standards.

A free, open-source REST API for MODAPTS-grounded industrial time study calculations. Submit a video of an assembly task; receive a motion sequence, base and standard time, units per hour, and an ergonomic risk profile.

MODAPTS® is a registered trademark of the International MODAPTS Association.
OpenPTS is an independent open-source implementation — not affiliated, not endorsed.

curl · POST /api/v1/sequence/analyze
# Calculate standard time + ergonomic risk for a sequence
curl -X POST https://openpts-api.vercel.app\
       /api/v1/sequence/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Heavy box, floor to table",
    "allowances_pct": 15,
    "motions": [
      {"code": "W5",  "quantity": 4},
      {"code": "B17", "quantity": 1},
      {"code": "G3",  "quantity": 1},
      {"code": "M5",  "quantity": 1},
      {"code": "W5",  "quantity": 5},
      {"code": "P2",  "quantity": 1}
    ]
  }'
# → response
{
  "total_mods": 72,
  "base_time_seconds": 9.288,
  "standard_time_seconds": 10.681,
  "units_per_hour": 337,
  "ergonomic_risk": {
    "repetitive_strain_index": 8.9,
    "risk_category": "VERY HIGH"
  }
}

Swagger / OpenAPI 3.0 docs at /docs

Processing pipeline
01

Video

MP4 · MOV · WebM

02

MediaPipe Pose

33-point keypoints

03

MODAPTS classifier

Geometric rules → code

04

OpenPTS /sequence/analyze

this project

05

Standard time + risk

JSON · per-element

§ 01 Live demo interactive · MediaPipe analysis in-browser

Drop any video of a manual task — MediaPipe detects the pose on every frame, velocity-based segmentation finds the motion boundaries, and the MODAPTS classifier maps each segment to a code. Or run the bundled sample to see a delivery-unload sequence analysed end-to-end.

Drop a video to analyze

MP4 · MOV · WebM  ·  MediaPipe runs in your browser

Sample: delivery unload  ·  B17 × 4  ·  G3 × 2  ·  M5 × 2  ·  P2 × 3

MODs

0

of

Base time

0.00

seconds

Risk index

0.0

/ 10

Motion load index
LowModerateHighVery high
MODAPTS sequence
Categories Walk Bend Get Move Put
§ 02 Motion code library 17 codes · 7 families · v0.2.0

MODAPTS assigns time to basic human movements. Each code is a letter (motion family) plus a number (time, in MODs). 1 MOD = 0.129 s — 7.75 MODs per second. Codes are body-focused: they track which body region moves, not just the object's distance.

Quick reference

  • MMove
  • GGet / grasp
  • PPut / place
  • W / FWalk / foot
  • BBend & arise
  • S / STSit / stand
  • EEye action
  • RRegrasp
  • AApply pressure

Source: MODAPTS literature (Heyde & Fourie; IISE SWS division; Eisbrenner Productivity Group). Implementation in seed_data.py — open a PR to expand the library.

§ 03 REST API FastAPI · OpenAPI 3.0 · CORS open

Four endpoints. Auto-generated Swagger UI at /docs.

GET /api/v1/motions filterable

Return the full motion library. Filter by body_region or category to narrow candidates before classifying.

curl https://openpts-api.vercel.app/api/v1/motions\
       ?body_region=arm&category=move

// → [
//     {"code":"M3","mod_value":3,"time_seconds":0.387,
//      "body_region":"arm","category":"move", ... },
//     ...
//   ]
GET /api/v1/motions/{code}

One motion by its MODAPTS code. Case-insensitive.

curl https://openpts-api.vercel.app/api/v1/motions/B17

// → {
//     "code": "B17",
//     "category": "bend",
//     "body_region": "body",
//     "mod_value": 17,
//     "time_seconds": 2.193
//   }
POST /api/v1/sequence/analyze primary

The main study endpoint. Returns standard time (with allowances), units/hour, per-element breakdown, body-region totals, category totals, and a full ergonomic risk profile (RSI 0–10, per-element flags, WMSD targets, prioritised engineering recommendations).

POST /api/v1/sequence/analyze
{
  "name": "Pick and place",
  "allowances_pct": 15,
  "motions": [
    {"code": "M3", "quantity": 1},
    {"code": "G1", "quantity": 1},
    {"code": "P2", "quantity": 1}
  ]
}
POST /api/v1/classify v0.2 · heuristic

Classify a pose-keypoint sequence (MediaPipe 33-point format, 20–90 frames) into a MODAPTS code. Current implementation is a geometric rule-based classifier — supervised model coming once labeled manufacturing video is available.

POST /api/v1/classify
{
  "landmark_format": "mediapipe_33",
  "fps": 30,
  "active_side": "bilateral",
  "frames": [ /* 20-90 frames */ ]
}

// → { "code": "B17", "confidence": 0.84, ... }
§ 04 Concepts & rationale background reading

MODAPTS has been used in manufacturing for decades, but it has remained locked inside proprietary desktop software and Excel files. OpenPTS brings the same calculations into the API era, so any system can call them — directly from a video.

Target integrations: MES, ERP, digital-twin simulations, custom production planning, AI-powered ergonomic assessment, and robot-learning pipelines.

✓ Complete library of MODAPTS motion codes

✓ Standard time with configurable allowances

✓ Repetitive Strain Index (0–10) with WMSD targets

✓ Pose-sequence → motion code classification

✓ Open source · MIT · free to use

Key concepts

1 MOD
0.129 seconds. The atomic time unit. 7.75 MODs equal one second.
Element
A single human motion (e.g. M3 — move object, forearm length). Coded by body region, not object distance.
Sequence
An ordered list of elements covering one task cycle. Sum of MODs × 0.129 = base time.
Allowance
Personal-fatigue-delay percentage added to base time. 15% is the standard automotive value; OSHA/NIOSH typically use 10–20%.
Standard time
base_time × (1 + allowances_pct/100). The number on the line balance sheet.
RSI
Repetitive Strain Index, 0–10. Engineering signal inspired by RULA / REBA / NIOSH literature for flagging high-load elements. Not a clinical instrument.
§ 05 Applications typical integration patterns

/01

Line balancing

Calculate cycle times for assembly stations to optimise production flow.

/02

Capacity planning

Estimate labour requirements for new products before tooling is built.

/03

Ergonomic assessment

Identify high-frequency, high-strain motions for WMSD injury prevention.

/04

Digital twins

Feed standard times into simulation models for virtual factory optimisation.

/05

ERP integration

Auto-calculate labour standards for Bills of Materials — no manual studies.

/06

Lean manufacturing

Eliminate waste by quantifying non-value-added motions across the cycle.

/07

Cost estimation

Build accurate labour cost models for quoting, budgeting, and bid response.

/08

Robot learning

Label demonstration video for imitation-learning pipelines via /classify.

§ 06 Disclaimer & references trademark notice · source list

MODAPTS® is a registered trademark of the International MODAPTS Association. OpenPTS is an independent, open-source implementation of predetermined time standards calculations and is not affiliated with, endorsed by, or supported by the International MODAPTS Association.

For official MODAPTS training, certification, and commercial software, please visit the trademark holder directly:

modapts.org

This tool is intended for educational, research, and open-source development purposes.

§ 07 Author contact · roadmap

Sid Sanghavi

Licensed MODAPTS Practitioner (via Ford Motor Company, 2015). M.S. Industrial & Systems Engineering, Virginia Tech. 4+ years as Senior Assembly Systems Engineer at Ford. Industrial-engineering experience across automotive manufacturing, IoT, and AI-powered products.

Roadmap

  • Core MODAPTS motion library (17 codes)
  • Time-study calculations with allowances
  • Interactive API documentation (Swagger / OpenAPI 3.0)
  • Public deployment (Vercel)
  • Ergonomic risk scoring (RSI 0–10)
  • Pose-sequence classifier (geometric heuristic)
  • Complete motion library (30+ codes)
  • PDF / Excel report generation
  • Supervised CV classifier (labeled training data)
  • MTM and MOST standards

Contributions welcome — open an issue or PR on GitHub. Especially valuable: additional motion codes, labeled video data, and production-environment edge cases.