Show HN: Workout.cool – Open-source fitness coaching platform

Workout.cool
Modern fitness coaching platform with comprehensive exercise database
Table of Contents
Contributors
About
A comprehensive fitness coaching platform that allows create workout plans for you, track progress, and access a vast exercise database with detailed instructions and video demonstrations.
🎯 Project Origin & Motivation
This project was born from a personal mission to revive and improve upon a previous fitness platform. As the primary contributor to the original workout.lol project, I witnessed its journey and abandonment. 🥹
The Story Behind workout.cool
- 🏗️ Original Contributor: I was the main contributor to workout.lol
- 💼 Business Challenges: The original project faced major hurdles with exercise video partnerships (no reliable video provider) could be established
- 💰 Project Sale: Due to these partnership issues, the project was sold to another party
- 📉 Abandonment: The new owner quickly realized that exercise video licensing costs were prohibitively expensive, began to be sick and abandoned the entire project
- 🔄 Revival Attempts: For the past 9 months, I've been trying to reconnect with the new stakeholder
- 📧 Radio Silence: Despite multiple (15) attempts, there has been no response
- 🚀 New Beginning: Rather than let this valuable work disappear, I decided to create a fresh, modern implementation
Why workout.cool Exists
Someone had to step up.
The opensource fitness community deserves better than broken promises and abandoned platforms.
I'm not building this for profit.
This isn't just a revival : it's an evolution. workout.cool represents everything the original project could have been, with the reliability, modern approach, and maintenance that the fitness open source community deserves.
👥 From the Community, For the Community
I'm not just a developer : I'm a user who refused to let our community down.
I experienced firsthand the frustration of watching a beloved tool slowly disappear. Like many of you, I had workouts saved, progress tracked, and a routine built around the platform.
My Mission: Rescue & Revive.
If you were part of the original workout.lol community, welcome back! If you're new here, welcome to the future of fitness platform management.
Quick Start
Prerequisites
- Node.js 18+
- Either:
- Docker
- OR PostgreSQL external database
- pnpm (recommended) or npm
Installation
-
Clone the repository
git clone https://github.com/Snouzy/workout-cool.git cd workout-cool
-
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env
Fill in your database URL and other required environment variables:
DATABASE_URL="postgresql://username:password@localhost:5432/workout_cool" BETTER_AUTH_SECRET="your-secret-key" # ... other variables
-
Set up the database
Option 1: Using Docker
The project provides a convenient
make
command that handles everything:make init
This single command will:
- Start the PostgreSQL database using Docker
- Run database migrations
- Start the development server
Option 2: Manual PostgreSQL Setup
If you prefer to use your own PostgreSQL installation:
# Run migrations npx prisma migrate deploy npx prisma generate # Start the development server pnpm dev
-
Open your browser Navigate to http://localhost:3000
Exercise Database Import
The project includes a comprehensive exercise database. To import a sample of exercises:
Prerequisites for Import
- Prepare your CSV file
Your CSV should have these columns:
id,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value
You can use the provided example.
Import Commands
# Import exercises from a CSV file pnpm run import:exercises-full /path/to/your/exercises.csv # Example with the provided sample data pnpm run import:exercises-full ./data/sample-exercises.csv
CSV Format Example
id,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value
157,"Fentes arrières à la barre","Barbell Reverse Lunges","Stand upright...","
Stand upright...",https://youtube.com/...,https://img.youtube.com/...,slug-fr,slug-en,TYPE,STRENGTH
157,"Fentes arrières à la barre","Barbell Reverse Lunges","
Stand upright...","
Stand upright...",https://youtube.com/...,https://img.youtube.com/...,slug-fr,slug-en,PRIMARY_MUSCLE,QUADRICEPS
Available Attribute Types
- TYPE:
STRENGTH
,CARDIO
,PLYOMETRICS
,STRETCHING
, etc. - PRIMARY_MUSCLE:
QUADRICEPS
,CHEST
,BACK
,SHOULDERS
, etc. - SECONDARY_MUSCLE: Secondary muscle groups targeted
- EQUIPMENT:
BARBELL
,DUMBBELL
,BODYWEIGHT
,MACHINE
, etc. - MECHANICS_TYPE:
COMPOUND
,ISOLATION
Project Architecture
This project follows Feature-Sliced Design (FSD) principles with Next.js App Router:
src/
├── app/ # Next.js pages, routes and layouts
├── processes/ # Business flows (multi-feature)
├── widgets/ # Composable UI with logic (Sidebar, Header)
├── features/ # Business units (auth, exercise-management)
├── entities/ # Domain entities (user, exercise, workout)
├── shared/ # Shared code (UI, lib, config, types)
└── styles/ # Global CSS, themes
Architecture Principles
- Feature-driven: Each feature is independent and reusable
- Clear domain isolation:
shared
→entities
→features
→widgets
→app
- Consistency: Between business logic, UI, and data layers
Example Feature Structure
features/
└── exercise-management/
├── ui/ # UI components (ExerciseForm, ExerciseCard)
├── model/ # Hooks, state management (useExercises)
├── lib/ # Utilities (exercise-helpers)
└── api/ # Server actions or API calls
Roadmap
Here are the next steps and goals for Workout.cool:
Feel free to suggest your ideas via issues!
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Workflow
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Code Style
- Follow TypeScript best practices
- Use Feature-Sliced Design architecture
- Write meaningful commit messages
- Add tests for new features
Deployment
Using Docker (Not ready yet : todo)
# Build the Docker image docker build -t workout-cool . # Run the container docker run -p 3000:3000 workout-cool
Manual Deployment
# Build the application pnpm build # Run database migrations export DATABASE_URL="your-production-db-url" npx prisma migrate deploy # Start the production server pnpm start
Resources
License
This project is licensed under the MIT License. See the LICENSE file for details.
🤝 Join the Rescue Mission
This is about rebuilding what we lost, together.
How You Can Help
- 🌟 Star this repo to show the world our community is alive and thriving
- 🐛 Report issues you find. I'm listening to every single one
- 💡 Share your feature requests finally, someone who will actually implement them !
- 🔄 Spread the word to fellow fitness enthusiasts who lost hope
- 🤝 Contribute code if you're a developer : let's build this together
💖 Sponsor This Project
Appear in the README and on the website as supporter by donating:
If you believe in open-source fitness tools and want to help this project thrive, consider buying me a coffee ☕ or sponsoring the continued development.
Your support helps cover hosting costs, exercise database updates, and continuous improvement.
Thank you for keeping workout.cool alive and evolving 💪
What's Your Reaction?






