# Coach Watts
Your Open Source AI-Powered Endurance Coach
Key Features • Quick Start • Integrations • Documentation • Release Notes • Acknowledgements
|
|
| **AI Workout Analysis** | **Adaptive Planning** |
| :--------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------: |
|
|
|
| **Planned Workouts** | **AI Coach Settings** |
| :------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: |
|
|
|
## 🔌 Integrations
Coach Watts connects with your favorite endurance and wellness platforms:
| Platform | Features Synced |
| ----------------- | -------------------------------------------------- |
| **Intervals.icu** | Workouts, Calendar, Power Metrics, Wellness/Weight |
| **Strava** | Activity Data, GPS Streams, Heart Rate |
| **Whoop** | Recovery, HRV, Sleep, Strain |
| **Oura** | Readiness, Sleep, HRV, SpO2, Stress, VO2 Max |
| **Withings** | Body Composition (Weight, Fat %), Sleep, Wellness |
| **Garmin** | Activity Data, Wellness, Health Metrics |
| **Wahoo** | Activity Data, Workouts |
| **Polar** | Training Sessions, Wellness, Recovery |
| **Yazio** | Nutrition Logs, Macros, Hydration |
| **Hevy** | Strength Training, Exercises, Sets & Reps |
| **Fitbit** | Steps, Sleep, Activity, Heart Rate |
| **Rouvy** | Indoor Cycling Workouts |
| **Ultrahuman** | CGM Data, Glucose Monitoring |
| **Telegram** | AI Coaching via Chat, Notifications |
## 🌍 Localization
Coach Watts is built for the global endurance community. We currently support:
- **English** (en), **German** (de), **Spanish** (es), **French** (fr)
- **Hungarian** (hu), **Italian** (it), **Japanese** (ja), **Dutch** (nl)
- **Russian** (ru), **Chinese** (zh)
We use **Tolgee** for managing translations. If you'd like to help translate Coach Watts into your language, please join our [Discord](https://discord.gg/dPYkzg49T9)!
## ⚡ Quick Start
### Prerequisites
- Node.js 24 (Active LTS — see `.nvmrc`)
- Docker (for PostgreSQL)
- Google Cloud Account (for Auth & Gemini API)
### 1. Clone & Install
```bash
git clone git@github.com:hdkiller/coach.git
cd coach
cp .env.example .env
pnpm install
```
### 2. Start Database
```bash
docker-compose up -d
# Starts PostgreSQL on port 5439
```
> **Note for MacOS users:** Ensure Docker Desktop is running (e.g. open Docker.app via Spotlight).
### 3. Configure Environment
Edit the `.env` file to fill in your own API keys (see below):
```bash
vim .env # or on MacOS: open -a TextEdit .env
```
> **Note:** You will need API keys for Google (Auth & Gemini), and optionally Intervals.icu, Strava, etc. See [Getting Credentials](./docs/04-guides/implementation-guide.md#prerequisites).
### 4. Run Migrations
```bash
pnpm prisma:generate
npx prisma migrate dev
```
### 5. Launch Development Server
```bash
pnpm dev
```
Visit `http://localhost:3099` and log in!
### 🛠️ CLI Tools
Coach Watts includes a powerful CLI for administrative tasks:
```bash
# General help
pnpm cw:cli --help
# Monitor Trigger.dev status
pnpm cw:cli trigger list --prod
# Manage users and locations
pnpm cw:cli users location list-missing
```
## 📚 Documentation
We have extensive documentation available in the [`docs/`](./docs) directory:
- [**Architecture**](./docs/01-architecture/system-overview.md): System design and data flow.
- [**Database Schema**](./docs/01-architecture/database-schema.md): Detailed Prisma models.
- [**Timezone Handling**](./docs/04-guides/timezone-handling.md): How we manage global athlete data.
- [**Chat Development**](./docs/04-guides/chat-development.md): Strict AI SDK & Gemini sequencing rules.
- [**Release Notes**](./public/content/releases): Detailed change logs for each version.
- **Feature Guides**:
- [AI Chat System](./docs/02-features/chat/overview.md)
- [Nutrition Logic](./docs/02-features/nutrition/fueling-logic.md)
- [Scoring System](./docs/02-features/analytics/scoring-system.md)
- [Integration Guides](./docs/INDEX.md#03-integrations)
## 🤝 Contributing
We welcome contributions! Whether it's fixing bugs, improving documentation, or suggesting new features.
1. Fork the repo.
2. Create a branch from `develop` (`git checkout -b feature/amazing-feature develop`).
3. Commit your changes.
4. Push to the branch.
5. Open a Pull Request targeting the **`develop`** branch.
> **Note on Release Workflow:** All PRs are merged into `develop`. Releases and production deployments occur when `develop` is merged into `master`.
## 📄 License
Distributed under the Apache License 2.0. See [`LICENSE`](./LICENSE) for more information. Acknowledgements of third-party assets and contributors can be found in [`ACKNOWLEDGEMENTS.md`](./ACKNOWLEDGEMENTS.md).
### Is Coach Watts open source?
Yes. Coach Watts is open source using the Apache 2.0 license. We are committed to open source software and working with our community to build a great product.
## ❤️ Community & Support
- **Discord:** [Join our Server](https://discord.gg/dPYkzg49T9)
- **GitHub:** [Star us on GitHub](https://github.com/hdkiller/coach)
- **Issues:** [Report a Bug](https://github.com/hdkiller/coach/issues)
---
Made with ❤️ for endurance athletes.