{"id":19494803,"url":"https://github.com/ceejbot/barbell","last_synced_at":"2025-07-20T17:04:35.538Z","repository":{"id":11599305,"uuid":"14091357","full_name":"ceejbot/barbell","owner":"ceejbot","description":"a hood.ie app for tracking your 5x5 lifting program","archived":false,"fork":false,"pushed_at":"2017-05-02T18:08:06.000Z","size":106,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-06T22:17:59.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceejbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-03T19:10:14.000Z","updated_at":"2014-10-07T20:06:10.000Z","dependencies_parsed_at":"2022-09-19T13:40:57.967Z","dependency_job_id":null,"html_url":"https://github.com/ceejbot/barbell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ceejbot/barbell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceejbot%2Fbarbell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceejbot%2Fbarbell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceejbot%2Fbarbell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceejbot%2Fbarbell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceejbot","download_url":"https://codeload.github.com/ceejbot/barbell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceejbot%2Fbarbell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266161905,"owners_count":23885928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T21:33:22.915Z","updated_at":"2025-07-20T17:04:35.519Z","avatar_url":"https://github.com/ceejbot.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Barbell [![barbell](img/barbell_logo.png)]\n\nA nodejs command-line tool for tracking a 5x5 lifting program.\n\nStill in early development mode. \n\n## Implementation notes\n\n### Interactions\n\n#### Setup\n\nInterview for name \u0026 prefs on first run. Settings gear will revisit all choices.\n\nDisplay in Metric vs American weights. (All weights recorded in pounds; conversion at moment of display.)\n\nRest time in milliseconds; defaults to 3 * 60 * 1000.\n\n#### Record a workout\n\nTODO: update this design for command-line-ness.\n\nRecord a new workout. \n\n- Show a page with the appropriate workout with suggested starting weights + reminder of reps per set.\n- Workout is the next one in the cycle.\n- If success in last iteration of the lift, weight is bumped up 5lbs/2.5 kg.\n\nAt workout start, the first lift is shown. Name in big type.\n\n*First stage:* warm up. Warmup weight progression is suggested.  \n\n*Second stage:* lift.\n\nA \"start\" button commences the set. The weight display switches to show the goal weight, with possibly a suggestion for which plates to put on the bar. After that \"5 reps\" or \"3 reps\", then the button pair. This display should comfortably take up most of an iPhone screen.\n\nEach set has a checkmark / cancel button pair next to it. The user presses checkmark to indicate success in all lifts, cancel to indicate failure. If failure, user can optionally enter how many reps were successes.\n\n*Third stage:* rest.  When the success/fail button is pressed, the rest timer starts. Countdown + \"stop and move on\" button shown.\n\nAt end of rest stage, next set is shown.\n\nAt end of workout, total time elapsed + congratulatory message.\n\n#### Edit workouts\n\n- Add/remove lifts from workouts.  \n- Add new lifts to available list.  \n- Add/remove workouts.   \n\n#### History\n\nView workout history. Graphs for each lift? Some kind of encouraging visualization of progress over time.\n\n### Data tracked\n\nTwo workouts: A, B. Each workout has 3 lifts.\n\nLift data structure: \n\n- uid: probably auto-generated by couch\n- title: string; short, shown everywhere in UI\n- 3reps: boolean; this lift gets sets of 3 reps because of intensity\n\nUser data:\n\n```javascript\n{\n    name: 'Human Name',\n    tz: tz-name,\n    workouts:\n    {\n        A: [ uid1, uid2, uid3 ],\n        B: [ uid1, uid4, uid5 ]\n    },\n    lifts:\n    {\n        uid1: { max: weight-in-lbs, ts: last-time-lifted },\n        uid2: { max: weight-in-lbs, ts: last-time-lifted },\n        // etc;\n    }\n}\n```\n\nHistory: Array of workouts.\n\nWorkout data structure:\n\n```javascript\n{\n    label: \"A\",\n    ts: ms-since-epoch,\n    lifts:\n    [\n        { \n            id: 'lift-id',\n            weight: weight-in-lbs,\n            done: boolean\n        },\n        { id: 'id2', weight: w, done: bool }\n    ]\n}\n```\n\n### Defaults\n\nCanned list of well-known lifts.\n\n    back squat, false  \n    deadlift,  true  \n    bench press, false  \n    overhead press, false  \n    Pendlay row, false  \n    front squat, false  \n    overhead squat, false  \n    power clean, true  \n    good morning, false  \n    RFESS, false  \n    hip bridge, false  \n    kb swings, false \n    kb snatches, false \n    Turkish get-ups, true  \n    push-press, false  \n    split jerk, true  \n    snatch, true  \n\nDefault starting point:\n\n__A:__ squat, bench press, deadlift, 45# each.  \n__B:__ squat, overhead press, pendlay row, 45# each.   \n\nDefault measure: in pounds.\n\n\n## LICENSE\n\nMIT\n\n## Credits\n\nThe logo image is by Scott Lewis from [The Noun Project](http://thenounproject.com/noun/weight-lifting/#icon-No883).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceejbot%2Fbarbell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceejbot%2Fbarbell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceejbot%2Fbarbell/lists"}