https://github.com/pmiddend/myocardio
An ncurses tool magically generating workout plans
https://github.com/pmiddend/myocardio
brick cabal cli fitness haskell ncurses nix
Last synced: 3 months ago
JSON representation
An ncurses tool magically generating workout plans
- Host: GitHub
- URL: https://github.com/pmiddend/myocardio
- Owner: pmiddend
- License: lgpl-3.0
- Created: 2018-11-20T14:56:50.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-06-22T05:57:54.000Z (over 1 year ago)
- Last Synced: 2025-03-15T00:51:35.595Z (7 months ago)
- Topics: brick, cabal, cli, fitness, haskell, ncurses, nix
- Language: Haskell
- Size: 609 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* myocardio – automagically generate and display split plans
[[https://github.com/pmiddend/myocardio/actions/workflows/build-with-cabal.yaml][file:https://github.com/pmiddend/myocardio/actions/workflows/build-with-cabal.yaml/badge.svg]]
[[https://github.com/pmiddend/myocardio/actions/workflows/build-with-nix.yaml][file:https://github.com/pmiddend/myocardio/actions/workflows/build-with-nix.yaml/badge.svg]]** How does it work
myocardio is a small utility to generate exercise split plans for you. It recieves a list of exercises from you. For each exercise, you specify:
- exercise name
- which muscle groups are involved
- how many repetitions you makeThe tool then generates and displays an exercise plan for you that /tries/ not to include exercises with big overlaps in muscle groups consecutively. It also prioritizes exercises that you haven’t done for some time.
The algorithm is described in [[./docs/ranking.pdf][this PDF file]].
The input is expected in JSON format at the location =$HOME/.config/myocardio/data.json= and looks like this:
#+BEGIN_SRC json
{
"exercises": [
{
"muscles": [
"pectoralis",
"triceps",
"deltoid",
"core",
"quadriceps",
"hip flexor"
],
"tagged": null,
"reps": "3x10",
"name": "Burpees",
"last": null
}
]
}
#+END_SRCAs you can see, the JSON is just a list of exercises. The format should be self-explanatory.
** Screenshot
#+CAPTION: A sample exercise plan (with some exercises named in German)
[[./screenshot.png]]#+CAPTION: The muscle display
[[./screenshot2.png]]** Key bindings
| Key | Binding |
|-----+--------------------------------------------------|
| t | tag an exercise (meaning you did it today) |
| j | Go down a row (vim-style!) |
| k | Go up a row |
| c | commit the plan (meaning you’re done exercising) |
| r | Type in a new repetition count |** Installation/Usage
Just clone the repository and type:
#+begin_example
cabal v2-run myocardio-exe
#+end_example