GymBro: training data that actually helps mid-set
A gym tracker I built for myself, designed around one rule: show me what I need to know for this exact set, not a dashboard I have to interpret while resting between sets.
The problem with most trackers
Most fitness apps ask you to log everything, then hide the number you actually need inside graphs and history screens. Mid-set, I don't want to study a chart. I want to know what I lifted last time and whether I should stay there or push a little further.
GymBro started as a personal fix for that: previous performance, progression and a suggested load, with as little friction as possible.
Show last time's numbers and one instruction, not a chart.
A trend line is something you study. A single sentence (maintain, add a rep, or add weight) is something you can read in two seconds and get back to lifting.
How it works
Every exercise starts with what I did last time: weight, reps and when I last trained it.
Instead of another graph, GymBro gives me one clear instruction. Maintain the weight, add a few reps, or move up once the reps are consistent.
For exercises like single-arm rows, each side can be tracked separately. Sets can also be edited or removed directly from the log.
Skills this shows
Body measurements, workout completion, monthly insights and exercise history. Same deterministic data, different views for different moments.
How it's built
I built GymBro myself, end to end, with Claude as a collaborator throughout.
Vanilla HTML, CSS and JavaScript. No framework or build step.
PHP and MySQL on standard shared hosting.
Sessions, sets, PRs, body composition and medicine, plus an offline retry queue if the connection drops mid-set.
The simple stack was deliberate. I wanted something I could understand completely and keep running without maintaining a pile of dependencies.
Where AI helped
Claude helped scaffold screens and API endpoints from my specs, clean up my existing training data, and iterate on the UI.
It also helped during debugging, but nothing was shipped just because it looked right. I tested the actual flows, inspected requests and checked the database directly.
Trade-off
Calorie estimates are intentionally conservative: broad MET-based exercise data, not a precise per-exercise number that doesn't really exist.
Where it's headed
The numbers shown in GymBro are still calculated deterministically. AI is reserved for the part where interpretation is actually useful.
Every few weeks, I can give Claude my current training goal together with the full dataset and ask it to suggest changes to the program. I review every suggestion before anything changes.
AI as a coach reading the data, not a calculator replacing it.
Have something worth building?
I'm interested in senior product, product design and hybrid leadership roles.