← Back to the field journal
PROJECT 07 / Movement / open-source extension

OpenGym.

A plan for the next session.

A self-hosted workout and body-weight tracker, extended with saved workout plans and weekly meal planning.

  • React
  • Zustand
  • Node.js
  • PWA
A LITTLE STRUCTURE. THEN SHOW UP.
M12T13W14T15F16S17S18
ILLUSTRATIVE WEEK / 03

Make room
for movement.

01 / Choose a plan
02 / Preview the week
03 / Make it yours
Synthetic plan · no exercise media
01 / PURPOSE

What it makes possible.

Build on OpenGym’s workout tracking with reusable training plans and weekly menus that can be reviewed and adjusted before use.

  • Upstream: workout and body-weight tracking, guided sessions, an exercise catalogue and sync across devices.
  • I added six curated workout families, saved plans and preview-before-activation.
  • Meal preferences and dietary exclusions guide a weekly menu, with ingredient details and estimated nutrition.
  • Seven-day plans, exclusions, meal swaps and grocery lists using 96 ingredients, 40 meals and 12 snacks.
02 / ARCHITECTURE

Under the surface.

  1. 01

    React and Zustand manage the interface and application state.

  2. 02

    A native Node.js HTTP service and JSON storage support authenticated use; guest use works offline.

  3. 03

    A PWA and Capacitor shell support installation. Meal plans are generated in the browser from curated rules and attributed nutrient data, so this feature also works offline.

03 / ENGINEERING DECISIONS

The deliberate choices.

  • Use deterministic local planning without adding an AI server dependency.
  • Show a plan before activation and allow meal substitutions.
  • Treat nutrient values as estimates with provenance.
04 / OUTCOME & STATUS

Where it stands.

Implemented workout and nutrition planning extensions in a fork. Release review is ongoing, so outbound promotion links are withheld. No upstream exercise media is copied into this portfolio.

Last commit ·

NEXT IN THE JOURNALClickSight