Submersion
Free, open-source dive software. 350+ dive computers, Bühlmann ZH-L16C with gradient factors, OC/CCR/SCR planning, UDDF 3.2 and nine other import formats, end-to-end encrypted sync through your own cl
翻訳待ち
The open-source alternative to TrainingPeaks. Self-hostable endurance training platform. Your data stays yours.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
The ethical alternative to TrainingPeaks and Strava.
OpenAthlete is open source under the AGPLv3, built so you can own your training data: self-host, export, and avoid vendor lock-in. Core hosting and processing are oriented toward the European Union with GDPR-minded defaults.
Endurance athletes feed years of intimate training data into proprietary U.S. platforms such as TrainingPeaks, Strava, and Garmin Connect, with little practical say in how that data is processed, monetized, or retained.Read the full README ↗Training platforms keep years of your data, charge coaches per athlete, and can be bought or shut down. Today's Plan closed in 2024; TrainingPeaks has belonged to Garmin since July 2026.
OpenAthlete is free on our servers in France and free on yours. The code is public under AGPL-3.0, the training-load formulas are in this repository, and you can export everything at any time. It is built by an independent developer and ultra runner in Grenoble, with no investors.
Plan. A calendar that thinks in seasons, weeks and sessions: training blocks, A/B/C races, illness and travel periods that move the sessions they cover, whole weeks copied or shifted with undo, and a calendar feed for Google, Apple or Outlook.
Build and sync. Structured workouts with targets from your own zones (pace, power, heart rate, % of VMA or FTP), a reusable library, and delivery to Garmin, COROS and Suunto watches at the next sync.
Analyse. Activities from Garmin, COROS, Suunto, Polar and Strava, or FIT, GPX and TCX files. Each interval graded against the plan, detected climbs, time in zones, aerobic decoupling, pace adjusted for gradient and weather, and non-destructive fixes for heart-rate spikes.
Progress. Records by distance and duration, year against year; critical speed and power; fitness, fatigue and form (CTL, ATL, TSB) from heart rate or perceived effort, projected over your planned sessions; HRV, resting heart rate and sleep from your watch. Every metric says what it measures and where it stops being reliable.
Coach. Compliance, volume and form for every athlete on one screen, alerts for reported pain, inactivity and unread messages, planning for several athletes at once, comments and real-time chat. Five athletes free, unlimited with Supporter.
AI, on your terms. Generate or edit a session from a sentence, get a short read of each activity and three questions on how it felt. Bring your own key (OpenAI, Anthropic, Google, Mistral, OpenRouter, DeepSeek, xAI, Groq, or a local model when self-hosted), pick the model per feature, or use the allowance included with Supporter. Nothing reaches an AI provider until you allow it. An MCP server lets Claude, ChatGPT or Cursor read your training and plan sessions straight into your calendar.
Mobile. The web app is built for phones and installs on the home screen. iOS and Android apps are in testing (TestFlight).
| OpenAthlete | TrainingPeaks | intervals.icu | Strava | |
|---|---|---|---|---|
| Open source, self-hostable | ✅ AGPL-3.0 | ❌ | ❌ | ❌ |
| Planned workouts sent to the watch | ✅ Free (Garmin, COROS, Suunto) | Premium only | ✅ | ❌ |
| Fitness / fatigue / form | ✅ Formulas in the code | ✅ | ✅ | Subscription |
| AI | Your key, or included with Supporter; MCP server | — | Connector (Supporter) | — |
| Coaching | 5 athletes free, unlimited €50/yr | From $21.99/mo + per-athlete fees | Supporter | — |
| Athlete price | Free (Supporter €5/mo or €50/yr, optional) | $19.95/mo or $134.99/yr | Free ($4/mo Supporter) | €59.99/yr |
Prices from each vendor's pricing page, checked on 3 November 2026 (USD before tax). Detailed, sourced comparisons: openathlete.org/compare.
React 19 and Vite (web, with Capacitor for iOS and Android), NestJS 11 with BullMQ jobs and Mastra agents (API), Prisma and PostgreSQL with pgvector, Redis, Next.js (website), Paraglide (6 languages), Tailwind CSS.
To get a local copy up and running, please follow these simple steps.
Here is what you need to be able to run OpenAthlete.
If you want to enable AI features, you may need to obtain API credentials. More details can be found in the documentation.
git clone https://github.com/openathleteorg/openathlete.git
cd openathlete
nvm use && pnpm install
# PostgreSQL (with pgvector) and Redis
docker compose -f docker-compose.dev.yml up -d
# Environment files, then edit them if needed
for f in apps/api apps/web libs/database; do cp $f/.env.example $f/.env; done
# Prisma client, shared package, database
pnpm database run db:generate && pnpm shared build && pnpm database run db:deploy
pnpm dev # API on http://localhost:3000, web app on http://localhost:5173
Run the same checks as CI with scripts/verify.sh (add --integration, --build or --e2e for the slower suites).
Run type checking before committing:
pnpm tsc:check
Format and lint your code:
pnpm format:write
pnpm lint:fix
Pull the current version:
git pull
Check if dependencies got added/updated/removed
pnpm install
Apply database migrations by running one of the following commands:
In a development environment, run:
pnpm database run db:migrate dev
In a production environment, run:
pnpm database run db:deploy
Check for .env variables changes
Compare your .env files with the .env.example files to see if new variables were added.
Start the server. In a development environment, just do:
pnpm dev
For a production build, run for example:
pnpm build
pnpm start
Enjoy the new version.
On any server with Docker and its Compose plugin:
curl -fsSL https://raw.githubusercontent.com/openathleteorg/openathlete/main/scripts/install.sh | sh
This is the beginning of the README. Read the rest at the original. Read the full README ↗