safeeyes
Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder
翻訳待ち
Self-hosted AI workout tracker. Bring your own LLM (Anthropic or OpenRouter): weekly debriefs, a chat coach, and AI-generated programs.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Open source, self hosted training tracker with a built in AI coach. Log your sessions, track your progress, and get evidence based weekly debriefs and program suggestions from the LLM of your choice (Anthropic Claude or any OpenRouter model).
▶ Try the live demo
· login [email protected] / gymcoachdemo
▶ Watch the 20-second launch video
· an AI coach, built by an AIRead the full README ↗The self-hosted workout tracker with an AI coach that actually knows your training.
Log every set, see what is working, and get weekly coaching from Claude, any OpenRouter model or a local model - on your own server, with your own key. Free, open source, no subscription.
▶ Live demo (login [email protected] / gymcoachdemo) ·
Self-host in one minute ·
Features ·
How this repo maintains itself
Looking for a self-hosted alternative to Strong, Hevy or Fitbod? GymCoach is a complete training tracker you run yourself, plus something self-hosted trackers rarely have: an AI coach grounded in your own numbers, running on the LLM key you choose.
| GymCoach | Typical cloud app | Typical self-hosted tracker | |
|---|---|---|---|
| Your data in your own database | ✅ | ❌ | ✅ |
| AI coach that reads your sessions and explains why | ✅ | 💰 subscription | ❌ |
| Established programs as written (5/3/1, GZCLP, nSuns, PPL) | ✅ | partial | partial |
| Cardio from watch files (FIT, TCX, GPX), no cloud account | ✅ | ❌ | ❌ |
| Offline-first logging, installable (PWA) | ✅ | ✅ | varies |
| Full export, nothing paywalled | ✅ | varies | ✅ |
| ChatGPT / MCP connector | ✅ | ❌ | ❌ |
With no AI key set, GymCoach is still a clean, fast tracker. Add a key later to turn on the coach, the chat and program generation.
All you need is Docker on an x86_64 host (arm64 images are tracked in #411). The prebuilt image is pulled from GHCR, so there is no clone and no build; migrations run on start.
mkdir gymcoach && cd gymcoach
curl -fsSLo docker-compose.yml \
https://raw.githubusercontent.com/gymcoach-app/gymcoach/main/docker-compose.selfhost.yml
printf 'JWT_SECRET=%s\nPOSTGRES_PASSWORD=%s\n' \
"$(openssl rand -base64 48)" "$(openssl rand -hex 16)" > .env
docker compose up -d
Open http://localhost:3000 and create your account. To turn the coach on, add
ANTHROPIC_API_KEY=... (or LLM_PROVIDER=openrouter with OPENROUTER_API_KEY
and OPENROUTER_MODEL, or a
local model) to .env and run docker compose up -d again. Every
option is documented at the top of
docker-compose.selfhost.yml; reaching the app
over plain HTTP from another machine needs SESSION_COOKIE_SECURE=false (Safari
may need it even on localhost). Run the printf line only once and keep .env
with your backups: it holds the database password.
For reverse proxies, HTTPS on a home network, backups, upgrades and choosing a model, see docs/self-hosting.md. Common questions are answered in docs/faq.md.
If GymCoach is useful to you, a ⭐ on the repo is the best way to help other lifters find it.
GymCoach is also an experiment in autonomous software development. Claude Code agents maintain a real application through documented loops: select an issue, implement it on a branch, run the checks, open a PR, review it independently, and merge eligible changes through a gate that requires green CI and a structured review record for the exact commit. Agents also propose most of what gets built: research on competing apps and their users' requests seeded the roadmap, and a bounded ideation loop files a few feature issues when the backlog runs dry. A human sets the product direction and goals, and keeps the decisions reserved by the autonomy charter.
The feedback comes from running software: unit and integration tests, Playwright E2E tests, a production Docker smoke test, and independent reviews. Runs leave a public journal; recurring mistakes become lessons and changes to the procedures. The AI coach inside the app and the agents developing the repository are separate systems. Self-hosting GymCoach does not start a development agent.
Next experiment: measure whether the maintainer itself improves. The roadmap covers durable execution, enforced budgets, replayable development tasks, and evaluated changes to the agent's skills. These are planned capabilities, not a claim that the agent already improves itself reliably.
Evidence from real runs: measured outcomes, the controls now enforced in code, and reviews that caught real problems, with links.
This is the beginning of the README. Read the rest at the original. Read the full README ↗