Skip to content
saourubhvermaPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Iron Sets — workout tracker for your iPhone

A self-contained PWA (no App Store, no backend, no account). Weight sets meet DJ sets: log your lifts against targets, watch the trend lines climb, and power the session with SoundCloud sets — all in one full-screen app on your phone.

Features

  • Lift — start a routine or freestyle. Each set is logged as weight × reps against the routine's target (✓ hit / – missed), prefilled from your last performance. The rest timer auto-starts after every logged set.
  • Plans — build routines: exercises with target sets × reps @ weight and a per-exercise rest duration. Import a program by pasting it from a coach's app or spreadsheet (Bench Press 4x8 @ 80, CSV rows, Day 1 — Push headers, rep ranges) with a preview before anything is saved.
  • Progress — per-exercise estimated 1RM (Epley) trend line, volume-per- session bars, weekly volume overview, PR detection on save, and a full history table.
  • Music — your SoundCloud "workout crate". Paste any track/set link and it plays inside the app (official embed widget — no API key needed) and keeps playing while you log sets. Search shortcuts for digging (Dosem included, obviously).
  • Tools — modifiable rest timer (presets, ±15s while running) and a sample-accurate metronome for tempo work (20–240 BPM, tap tempo, accented beats; keeps ticking across tabs).

Data stays on-device (localStorage) with JSON export/import in Settings (⚙). Units kg/lb, sound toggle, optional keep-screen-awake (iOS 16.4+).

Get it on your iPhone

The app is static files — any HTTPS host works. Two easy paths:

A. GitHub Pages (recommended)

  1. Nothing to configure — every push to main deploys via the bundled "Deploy to GitHub Pages" workflow.
  2. Open https://saourubhverma.github.io/iron-sets/ in Safari on the phone.
  3. Share button → Add to Home Screen. Done — it launches full-screen, works offline (service worker), and keeps its own icon.

B. Same-Wi-Fi from your Mac (quick test)

python3 -m http.server 8080
# on the phone: http://<your-mac-ip>:8080

Everything works over plain HTTP except the offline cache (service workers need HTTPS/localhost) — fine for a first spin.

SoundCloud notes

  • The crate's primary action is App ↗ — it opens the saved set in the native SoundCloud app (universal link), where lock-screen playback just works. Log your sets in Iron Sets while SoundCloud plays in the background.
  • The in-app player (▶, embed widget — zero credentials) is for sessions where the phone stays on: iOS pauses web audio when the screen locks, and no web app can change that.
  • In-app search would need a registered SoundCloud API app (approval takes a while); the "Dig for sets" shortcuts open SoundCloud search instead — copy the link of anything good and paste it into the crate.

Development

No build step. index.html + app.js (preact + htm, vendored in vendor/) + sw.js + manifest.webmanifest. Icons are generated (pure- python PNG writer, no PIL) — see repo history for the generator script.

Chart styling follows the dataviz spec: single-series marks, 2px lines, ≤24px bars with rounded data-ends, hairline gridlines, tap-to-inspect, and a history table as the accessible data view. Chart colors (#c98500, #3987e5) are contrast/CVD-validated against the dark surface.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages