# jact
![]()
- What: A local-first, bodyweight-focused workout app for short strength, cardio and mobility sessions. It builds a plan around your energy, equipment, weekly targets, recent fatigue, and what has been under-trained.
- When: 2025 - 2026
- Who: Me
- Where: Google Play (opens new window) (Android only for now; no iOS version yet)
# About
After my daughter was born I wanted to keep exercising, but most days I only had about ten minutes. jact is a workout app for that constraint: pick your energy, equipment and training types, then generate a short bodyweight-focused session with cardio and mobility when useful.
# What It Does
- Generates Short, Medium and Long sessions from strength, cardio and mobility blocks.
- Adapts to your available equipment, weekly targets, recent fatigue and training gaps.
- Tracks 7-day progress, fatigue, mobility minutes and workout consistency.
- Uses quick feedback (
Too Easy,Just Right,Too Hard) to adjust future progressions. - Works fully offline and keeps workout data on-device.
# Training System
The strength side is built around eight mostly bodyweight ladders: vertical pull, horizontal pull, vertical push, horizontal push, squat, hinge, anterior core and posterior core. The progressions run from simple entry points up to harder movements like handstand work, one-arm push-ups, pistol squats, dragon flags and muscle-ups. Each ladder progresses or regresses based on recent feedback, and the equipment rules stop the app recommending movements that need gear you do not have available.
Cardio is split into HIIT and threshold work. Mobility is bucketed around shoulders, hip flexors/quads, hamstrings, adductors/pancake and t-spine/bridge work. It is not trying to be a full coaching platform. It is trying to answer the question I kept having in the middle of a busy day: what should I do with the next ten minutes?

# Technical
jact is a React Native / Expo app written in TypeScript. The app uses Zustand for state, SQLite for event history, AsyncStorage for hot state, Expo Notifications for reminders, and Jest for the planning/progression tests.
The main bit of the system is the session planner. It scores categories by target deficit and fatigue, applies energy and equipment gates, then assembles a plan that fits the requested time window.