OpenAthletics is an open-source performance dashboard designed for athletes who want a clean, fast, and high-contrast view of their training data. Built with Next.js, Tailwind CSS, and the Strava API.
The goal is to provide a "zero-bloat" alternative to heavy fitness apps, focusing on raw performance metrics and aerobic efficiency.
- Fast Synchronization: Direct integration with Strava API using Server Components.
- Modern Dashboard: High-impact UI inspired by technical sports gear.
- Optimized Metrics: Custom logic to calculate weekly, monthly, and yearly volume without heavy external libraries.
- Privacy Focused: Secure server-side token handling.
- Framework: Next.js (App Router)
- Styling: Tailwind CSS
- Auth: NextAuth.js
- Language: TypeScript
- Node.js 18+
- A Strava Developer Account (to get your Client ID and Secret)
- Clone the repo:
git clone https://github.com/MenachoIvan/open-athletics.git cd open-athletics - Install dependencies:
npm install
- Environment Variables:
Create a
.env.localfile in the root and add:STRAVA_CLIENT_ID=your_id STRAVA_CLIENT_SECRET=your_secret NEXTAUTH_SECRET=your_random_string NEXTAUTH_URL=http://localhost:3000
- Run development server:
npm run dev
- Implement Heart Rate Zones analysis.
- Add Loading Skeletons for better UX.
- Create specialized views for Cycling vs Running.
- Exportable training reports (PDF/CSV).
We love contributions! Please see our CONTRIBUTING.md to get started.
This project is licensed under the MIT License.