A Progressive Web App (PWA) for tracking workouts and monitoring strength progression. Built with Rust, HTMX, and focused on simplicity and performance.
- User Management - Multi-user support with session-based authentication
- Exercise Library - Create and manage custom exercises with instructions
- Workout Planning - Build structured workout routines with multiple exercises
- Live Training - Guided workout experience with real-time set tracking
- Training History - Review past workouts and track progression over time
- Smart Scheduling - Manual, weekly, or rotation-based workout scheduling
- Mobile-First Design - Optimized for iOS and Android PWA
- Glassmorphism UI - Modern, dark theme
- Single Exercise Focus - Guided flow through exercises and sets
- Real-time Progress - See your workout completion percentage
- Touch-Friendly - Large tap targets and smooth animations
- Nix
- SQLite
- Nix (recommended) - For reproducible dev environment (not really necessary though)
- Rust 1.70+ - Install via rustup
- SQLite - Usually pre-installed on Unix systems
# clone the repository
git clone https://github.com/DerDaehne/woplanner.git
cd woplanner
# enter Nix development shell
nix develop
# run the application
cargo run# clone the repository
git clone https://github.com/DerDaehne/woplanner.git
cd woplanner
# set database URL (optional, defaults to ./bodybuilding.db)
export DATABASE_URL="sqlite:./bodybuilding.db"
# run database migrations (automatic on first run)
cargo runopen your browser and navigate to:
http://localhost:3000
# auto-restart on code changes
cargo watch -x run
# run tests (no tests implemented yet!)
cargo test
# run linter
cargo clippy
# format code
cargo fmt
# build for production
cargo build --release# database location (default: sqlite:./bodybuilding.db)
DATABASE_URL="sqlite:./path/to/db.db"
# server port (default: 3000)
PORT=3000- user management
- exercise library
- workout planning
- live training tracking
- basic dashboard
- training history (WIP)
- exercise progression charts
- body measurements tracking
- rest timer between sets
- personal Records (PRs) detection
- training streaks & achievements
- workout templates
- progressive overload suggestions
- full offline support
- export/import data
This project is open source and available under the MIT License.
Note: This is a learning project focused on Rust, HTMX, and PWA development. Features are continuously being added and improved. I'm doing this all in my spare time for myself.