{"id":15011465,"url":"https://github.com/jottenlips/wodaboard","last_synced_at":"2026-02-08T07:02:09.258Z","repository":{"id":195105807,"uuid":"691729246","full_name":"jottenlips/wodaboard","owner":"jottenlips","description":"🏋️ Workout of the Day GitHub Action + Vestaboard ⬛️🟥🟧🟨🟩🟦🟪⬜️","archived":false,"fork":false,"pushed_at":"2025-01-27T01:11:19.000Z","size":140,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-28T23:57:20.193Z","etag":null,"topics":["bun","bunjs","calisthenics","climbing","github","github-actions","iot","javascript","typescript","vestaboard","wod","workout"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jottenlips.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-14T19:06:12.000Z","updated_at":"2025-01-27T01:11:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa3c532b-0138-4229-8e2c-bd00633a3f3b","html_url":"https://github.com/jottenlips/wodaboard","commit_stats":null,"previous_names":["jottenlips/wodaboard"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/jottenlips/wodaboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jottenlips%2Fwodaboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jottenlips%2Fwodaboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jottenlips%2Fwodaboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jottenlips%2Fwodaboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jottenlips","download_url":"https://codeload.github.com/jottenlips/wodaboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jottenlips%2Fwodaboard/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269102277,"owners_count":24360132,"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","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bun","bunjs","calisthenics","climbing","github","github-actions","iot","javascript","typescript","vestaboard","wod","workout"],"created_at":"2024-09-24T19:41:07.867Z","updated_at":"2026-02-08T07:02:09.153Z","avatar_url":"https://github.com/jottenlips.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💪 WODaboard 🏋️\n\u003e workout of the day\n\nCheckout my full blog post on [docs.vestaboard.com](https://docs.vestaboard.com/blog/vestaboard-github-actions)\n\n----------\n\n\"Workout Of the Day\" sent to a Vestaboard. This is an example of how you can use the Vestaboard developer API to send messages to your Vestaboard.\n\nThis Github Action workflow also posts the message to [workoutoftheday@mastodon.social](https://mastodon.social/@workoutoftheday).\n\n⚠️ Disclaimer: These workouts are random and vary in intensity. I am not a personal trainer, so seek professional advice before following my dummy data.\n\n![Vestaboard](IMG_5189.jpg)\n\n# Create your own Vestaboard Installable/Subscription\n\nUse the web app's API tab to create an installable for your Vestaboard.\nOnce you have the subscription id, api key, and api secret, add them to your .env for running locally\nor your GitHub action secrets for running with a GitHub workflow as a cron job. Be sure to keep your API keys secret and not commit them.\n\n```\n# .env\nVB_SUB_ID=yoursubscriptionid\nVB_SUB_KEY=yoursubscriptionapikey\nVB_SUB_SECRET=yoursubscriptionapisecret\n\n# (optional to post to Mastodon)\nMASTODON_ACCESS_TOKEN=\n```\n\n```\n# send a WOD to your Vestaboard\nbun install\nbun run index.ts\n```\n\nYou can find more information on Vestaboard subscriptions at https://docs.vestaboard.com. Happy hacking!\n\n[Issue with delay on GitHub actions during peak traffic times](https://github.com/orgs/community/discussions/52477)\n\nGitHub cron jobs also expire after 60 days of repository inactivity. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjottenlips%2Fwodaboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjottenlips%2Fwodaboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjottenlips%2Fwodaboard/lists"}