StrideSync is a comprehensive workout tracking platform designed to help runners and fitness enthusiasts plan, track, and analyze their training. The application features an AI coach powered by Claude, personalized training plans, and detailed performance analytics.
Deployed here! https://stride-sync.vercel.app/
- Personalized training plans generated by Claude AI
- Intelligent workout recommendations based on user goals and fitness level
- Natural language conversation interface to create custom training schedules
- Interactive data visualizations showing workout trends
- Weekly and monthly mileage tracking
- Workout type distribution and completion rate metrics
- Advanced charts for analyzing progress over time
- Interactive workout calendar for scheduling sessions
- Support for different workout types (runs, strength training)
- Workout completion tracking and statistics
- Detailed workout properties (distance, pace, duration, etc.)
- Browse and enroll in pre-built training plans for 5K, 10K, half-marathon, and more
- Track your progress through enrolled plans
- Personalize plans to fit your schedule and goals
- Next.js 13+ (App Router) - Server components, client components, API routes
- React 19 - Functional components with hooks for state management
- TypeScript - Type safety and enhanced developer experience
- Tailwind CSS - Utility-first styling with a comprehensive design system
- shadcn/ui - Accessible and customizable UI components
- Recharts - Interactive and responsive chart visualizations
- Ant Design - Calendar component with custom theming
- Supabase - Authentication, database, and row-level security policies
- Supabase Auth - Cookie-based authentication with SSR support
- PostgreSQL - Relational database with data modeling
- Anthropic Claude API - AI assistant integration for personalized coaching
- Vercel - Seamless deployment and serverless functions
- Environment Variables - Secure configuration management
The application uses Supabase Auth with cookie-based authentication, enabling server-side rendering while maintaining secure user sessions across the entire Next.js stack (middleware, server components, client components).
The database is structured around several key entities:
- Users (via Supabase Auth)
- Workouts (with specialized subtypes for runs and strength training)
- Training plans and user enrollments
- AI coaching sessions
The AI coach leverages Claude's capabilities to:
- Analyze user goals and fitness level through conversation
- Generate structured workout plans as JSON
- Create calendar entries automatically
- Reference training principles and best practices
All database access is protected by Supabase RLS policies, ensuring users can only access their own data while maintaining a seamless development experience.
- Dynamic imports for improved page load performance
- Streaming responses for AI interactions
- SSR for critical pages and CSR for interactive components
- Clone the repository
git clone https://github.com/JacksonLee45/stride-sync
cd stride-sync- Install Dependencies
npm install
- Set up environment variables
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
ANTHROPIC_API_KEY=your-anthropic-api-key
- Run the development server
npm run dev
This project is configured for seamless deployment on Vercel with the Supabase integration. Simply connect your GitHub repository to Vercel and set up the required environment variables.
Creating a flexible data model to support different workout types while maintaining query efficiency required a combination of base tables and specialized extensions. This approach provides type-specific details while enabling unified queries.
Implementing the AI coach required careful prompt engineering and structured output parsing. The system uses:
- Custom system prompts for guiding the AI's expertise
- JSON response parsing for workout plan extraction
- Stream processing for real-time conversation updates
The application features a fully responsive light/dark theme that seamlessly integrates with third-party components. Custom CSS and theme variables ensure consistent styling across the entire application.
- Mobile app using React Native
- Integration with wearable devices and fitness APIs
- Advanced training plan customization and AI-driven adaptations
- Community features and social sharing
This project is licensed under the MIT License - see the LICENSE file for details.