{"id":2475,"date":"2025-09-30T11:18:13","date_gmt":"2025-09-30T15:18:13","guid":{"rendered":"https:\/\/zmh.org\/?p=2475"},"modified":"2026-01-01T11:59:35","modified_gmt":"2026-01-01T15:59:35","slug":"gymtxt","status":"publish","type":"post","link":"https:\/\/zmh.org\/gymtxt\/","title":{"rendered":"Gymtxt"},"content":{"rendered":"\n<p><a href=\"https:\/\/gymtxt.com\">Gymtxt.com<\/a> is a lightweight way to jot down exercises at the gym, in plaintext. It\u2019s based on how I log workouts in Apple Notes \/ IA Writer, with a little scaffolding to make it easier to track workouts over time.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6addc2bfce098&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6addc2bfce098\" class=\"wp-block-image size-large wp-lightbox-container\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1215\" height=\"728\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/gymtxt-hero-edited.png?resize=1215%2C728&#038;quality=80&#038;ssl=1\" alt=\"\" class=\"wp-image-2490\" srcset=\"https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/gymtxt-hero-edited.png?w=1215&amp;quality=80&amp;ssl=1 1215w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/gymtxt-hero-edited.png?resize=300%2C180&amp;quality=80&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/gymtxt-hero-edited.png?resize=1024%2C614&amp;quality=80&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/gymtxt-hero-edited.png?resize=768%2C460&amp;quality=80&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>It allows you to write something like<\/p>\n\n\n\n<pre class=\"wp-block-code wp-block-preformatted\"><code>10\/13\nsquats 100lbs 5x5 \nbench press 45 each side 5x8<\/code><\/pre>\n\n\n\n<p>The date, exercise, set count, rep count, and weight are parsed automatically and tracked over time with graphs. <\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6addc2bfcf4af&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6addc2bfcf4af\" class=\"wp-block-image size-large wp-lightbox-container\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"2277\" height=\"1318\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?resize=2277%2C1318&#038;quality=80&#038;ssl=1\" alt=\"\" class=\"wp-image-2494\" srcset=\"https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?w=2277&amp;quality=80&amp;ssl=1 2277w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?resize=300%2C174&amp;quality=80&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?resize=1024%2C593&amp;quality=80&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?resize=768%2C445&amp;quality=80&amp;ssl=1 768w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?resize=1536%2C889&amp;quality=80&amp;ssl=1 1536w, https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/CleanShot-2026-01-01-at-08.58.11%402x-edited.png?resize=2048%2C1185&amp;quality=80&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Easily remember what you did last time and update your workout as you go.\u00a0<span style=\"font-family: var(--editor-font-family); font-size: var(--editor-font-size);\">It also includes a basic timer for breaks between sets.<\/span><\/p>\n\n\n\n<p>All data is stored in local storage and importable\/exportable as plain .txt files.<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gymtxt.com is a lightweight way to jot down exercises at the gym, in plaintext. It\u2019s based on how I log workouts in Apple Notes \/ IA Writer, with a li<\/p>\n","protected":false},"author":1,"featured_media":2479,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[24],"class_list":["post-2475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-projects"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/zmh.org\/blog\/wp-content\/uploads\/2026\/01\/gymtxt-hero-scaled.png?fit=2560%2C1533&quality=80&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/posts\/2475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/comments?post=2475"}],"version-history":[{"count":3,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/posts\/2475\/revisions"}],"predecessor-version":[{"id":2495,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/posts\/2475\/revisions\/2495"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/media\/2479"}],"wp:attachment":[{"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/media?parent=2475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/categories?post=2475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zmh.org\/blog\/wp-json\/wp\/v2\/tags?post=2475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}