A single-file training and nutrition platform: a macro planner, a workout builder with an anatomy browser, and a set of calculators for the numbers that come up constantly in serious training but rarely get their own page. Everything runs client-side in one HTML file, so there is nothing to install and nothing sent to a server.
Formerly called MuscleForge. Same project, renamed for a cleaner identity; the calculations and data underneath are unchanged.
Live: ayter.com/iron Author: Can Ayter
- BMR/TDEE from the Mifflin-St Jeor or Katch-McArdle equations
- Macro targets in g/kg body weight rather than arbitrary percentages, following ISSN protein guidance
- Seven preset profiles (Bodybuilding Standard, High Protein, High Carb, Low Carb, Keto, Balanced, Competition Prep)
- Meal planning against an 80+ food database with automatic macro distribution
- CSV/JSON export
- Four program templates: Push/Pull/Legs (6-day), Upper/Lower (4-day), Full Body (3-day), Bro Split (5-day)
- An anatomy-linked exercise atlas — 50+ exercises with primary/secondary muscle activation, equipment, and difficulty, browsable by muscle group
- Volume tracking against MEV/MAV/MRV landmarks per muscle
- Exercise swap by movement pattern and target muscle
Body composition (FFMI, Navy method, genetic potential, ideal proportions), training (strength scores — Wilks/DOTS/IPF GL, progressive overload, deload timing, periodization, rep-max tables, rest timer), nutrition (carb cycling, reverse dieting, recomposition, peak week, weight-class cutting, supplement stack ratings), recovery (sleep, readiness, stress load, injury prevention), and competition prep (countdown with phase tracking, water loading, posing guide). A gym mapper finds nearby gyms via OpenStreetMap.
Every calculator cites where its formula comes from, not just a name attached to it:
- Protein: ISSN position stand (Jäger et al., 2017) — 1.6–2.4 g/kg for building muscle, 2.3–3.1 g/kg lean mass while cutting
- BMR: Mifflin-St Jeor (Am J Clin Nutr, 1990)
- Training volume: Schoenfeld et al. on the dose-response relationship (J Sports Sci, 2017)
- Rest periods: Schoenfeld et al. (J Strength Cond Res, 2016)
- FFMI ceiling: Kouri et al. (Clin J Sport Med, 1995)
- Contest prep rate of loss: Helms et al. (JISSN, 2014)
iron/
├── index.html single-file application: markup, styles, and logic
├── data/
│ ├── foods.js food database (macros + micros)
│ ├── exercises.js exercise metadata and muscle mapping
│ ├── programs.js training templates
│ ├── recipes.js recipe data shared with Forage
│ └── references.js citations behind each calculator
├── js/calculators.js the calculation functions themselves
└── manifest.json PWA metadata
Vanilla JavaScript, no framework, no build step. Leaflet.js for the gym map, html2pdf.js for export. Runs anywhere a static file can be served — GitHub Pages, Netlify, or a plain web server.
Most useful contributions are corrections: a food entry with better source data, a calculator whose citation doesn't hold up, an accessibility gap. Issues and PRs welcome.
An educational tool, not medical advice. Talk to a professional before making a significant change to your diet or training.
MIT