Transform your fitness data into a Matrix-inspired visual experience.
The Fitness Matrix is a cutting-edge web application that revolutionizes how you visualize and analyze your fitness data. By seamlessly integrating Strava and Hevy APIs, it delivers an immersive, Matrix-themed interface that makes tracking your physical performance both engaging and insightful.
Because I am a fitness enthusiasts and data lover
Transform your fitness journey into a visual masterpiece
The Fitness Matrix transforms your fitness journey into a visual masterpiece. This innovative platform combines the power of Strava's activity tracking with Hevy's strength training data, presenting everything through a captivating Matrix-inspired interface that makes data analysis both intuitive and visually stunning.
Key Features:
- Real-time Activity Monitoring: Track running, cycling, swimming, and walking activities with intelligent status indicators (EXCELLENT, WARNING, CRITICAL)
- 365-Day Neural Mapping: Interactive heatmap visualization showing your annual activity patterns and consistency
- Strength Training Integration: Comprehensive workout tracking through Hevy API integration
- Matrix Aesthetic: Immersive terminal-style interface with authentic Matrix visual elements
- Performance Analytics: Advanced metrics and trend analysis for informed fitness decisions
- Smart Status Indicators: Visual feedback system showing days since last activity
- Activity Tracking: Comprehensive monitoring of cardio activities (running, cycling, swimming, walking)
- Motivational Alerts: Encouraging messages when it's time to get back to training
- Last Activity Data: Detailed information about your most recent workout sessions
- Interactive Heatmap: Year-long visualization of daily activities with intensity levels
- Pattern Recognition: Identify training consistency and seasonal trends
- Data Range Visualization: Min/Max activity tracking with detailed daily breakdowns
- Temporal Analysis: Weekly and monthly activity distribution patterns
- Strength Training Analytics: Complete integration with Hevy's weightlifting database
- Workout Counter: Total workout tracking with binary matrix visualization
- Real-time Sync: Live API connection ensuring up-to-date workout data
- Progress Visualization: Track your strength training journey over time
- Terminal Aesthetics: Authentic command-line interface styling
- Green Matrix Theme: Classic Matrix color scheme with modern UX principles
- Responsive Design: Optimized for desktop and mobile viewing
- Immersive Experience: Full-screen dashboard for distraction-free analysis
This project leverages modern web technologies for optimal performance and user experience:
- Astro - Modern static site generator for fast, optimized builds
- Bun - Ultra-fast JavaScript runtime and package manager
- TypeScript - Type-safe JavaScript for better code quality
- Tailwind CSS - Utility-first CSS framework for rapid styling
- Strava API - Access to running, cycling, and swimming data
- Hevy API - Strength training and workout data integration
- Vitest - Fast unit testing framework
- Activities Supported: Running, Cycling, Swimming, Walking
- Data Points: Distance, Duration, Pace, Heart Rate, Elevation
- Real-time Sync: Automatic updates from your Strava account
- Historical Data: Access to your complete activity history
- Workout Tracking: Complete strength training sessions
- Exercise Database: Comprehensive exercise library
- Progress Metrics: Weight, reps, sets, and volume tracking
- Training Analytics: Workout frequency and intensity analysis
- Node.js 18.17.1 or higher
- Bun runtime installed
- Strava Developer Account with API access
- Hevy API Key for workout data
-
Clone the repository
git clone https://github.com/JuanPabloDiaz/fit.git cd fit
-
Install dependencies
bun install
-
Configure environment variables
cp .env.sample .env
Fill in your API credentials:
STRAVA_CLIENT_ID=your_strava_client_id STRAVA_CLIENT_SECRET=your_strava_client_secret STRAVA_REFRESH_TOKEN=your_strava_refresh_token HEVY_API_KEY=your_hevy_api_key
-
Start development server
bun dev
-
Open your browser Navigate to
http://localhost:4321
to see your fitness matrix!
Command | Description |
---|---|
bun dev |
Start development server |
bun build |
Build production version |
bun preview |
Preview production build locally |
bun format |
Format code with Prettier |
bun clean |
Remove build artifacts and dependencies |
bun lint |
Lint code with ESLint |
bun test |
Run tests with Vitest |
bun strava-script |
Execute Strava-specific scripts |
- Strava API Setup Guide - Complete guide to obtaining Strava API tokens and configuring proper scopes
- Hevy API Configuration - Instructions for connecting your Hevy account
- Local Development - Hot reload and development tools
- Testing - Unit tests and integration testing setup
- Deployment - Production build and deployment instructions
- π Live Application: fit.jpdiaz.dev
- π» Source Code: github.com/JuanPabloDiaz/fit
- π Strava API: developers.strava.com
- ποΈ Hevy API: Hevy GitHub
- β‘ Astro Docs: docs.astro.build
We welcome contributions to make Fit even better! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please read our Contributing Guidelines before submitting any changes.
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to:
- Strava API team for comprehensive fitness data access
- Hevy Community for strength training data integration
- Matrix Movie for the iconic visual inspiration
- Open Source Community for the amazing tools and frameworks
Juan Pablo Diaz
- Website: jpdiaz.dev
- GitHub: @JuanPabloDiaz
- Project: fit.jpdiaz.dev