A gamified fitness tracker designed for programmers who spend long hours at their desks. Level up your exercises, earn XP, unlock achievements, and maintain healthy habits - all with a beautiful desktop app that respects your workflow.
- Exercise Logging - Track 25+ desk-friendly exercises (pushups, squats, stretches, etc.)
- XP System - RuneScape-inspired exponential leveling (1-99 per exercise)
- Streak Tracking - Build daily exercise streaks with visual feedback
- Quick Log - Global hotkey
Ctrl+Shift+Alt+Gto log exercises without breaking flow
- Per-Exercise Levels - Each exercise has its own level (1-99)
- Total Level - Combined level across all exercises
- Achievements - Unlock badges for milestones (7-day streak, Level 50, etc.)
- Collectible Badges - 30+ badges with 5 rarity tiers (Common to Legendary)
- Titles - Earn titles like "Novice Geek" to "Legendary Geek"
- Eye Care (20-20-20 Rule) - Reminders to look away from screen
- Hydration Tracking - Log water intake with daily goals
- Posture Reminders - Periodic posture check notifications
- Ergonomic Tips - Rotating tips for desk ergonomics
- Focus Mode Detection - Auto-pause notifications during deep work
- 10 Developer Themes - Dracula, Nord, Monokai, Solarized, GitHub Dark, One Dark, Catppuccin, and more
- Keyboard-First Navigation -
Ctrl+1-6for pages,Ctrl+/for shortcuts - CLI Tool - Log exercises from terminal:
geekfit-cli log pushups 20 - GitHub-Style Contribution Graph - Visualize your exercise activity
- Shareable Fitness Commit Cards - Git-style commit messages for social sharing
- System Tray - Runs in background, double-click to open
- Desktop Notifications - Customizable reminder intervals
- Data Export/Import - Full JSON backup and restore
- Localization - English and Spanish (more coming)
- Onboarding Tutorial - Guided introduction for new users
- Sound Effects - Satisfying audio feedback (optional)
| Platform | Download |
|---|---|
| Windows | GeekFit_x64-setup.exe |
| macOS (Intel) | GeekFit_x64.dmg |
| macOS (Apple Silicon) | GeekFit_aarch64.dmg |
| Linux (AppImage) | GeekFit_amd64.AppImage |
| Linux (deb) | GeekFit_amd64.deb |
Or browse all assets on the Releases page.
# Clone the repository
git clone https://github.com/mvogttech/geekfit.git
cd geekfit
# Install dependencies
npm install
# Run in development mode
npm run tauri dev# Build the app
npm run tauri buildThe installer will be in src-tauri/target/release/bundle/.
For terminal lovers, GeekFit includes a CLI:
# Build the CLI
cd src-tauri
cargo build --release --bin geekfit-cli
# Add to PATH (the binary is in target/release/)geekfit-cli log pushups 20 # Log 20 pushups
geekfit-cli stats # Show your stats
geekfit-cli list # List all exercises with levels
geekfit-cli today # Show today's progress
geekfit-cli history -d 7 # Show last 7 days
geekfit-cli achievements # Show achievements
geekfit-cli quick push # Fuzzy search exercises| Shortcut | Action |
|---|---|
Ctrl+Shift+Alt+G |
Quick Log (global, works when minimized) |
Ctrl+1 |
Dashboard |
Ctrl+2 |
Exercises |
Ctrl+3 |
Achievements |
Ctrl+4 |
History |
Ctrl+5 |
Weekly Wrap-Up |
Ctrl+6 |
Wellness |
Ctrl+, |
Settings |
Ctrl+/ |
Show all shortcuts |
- Frontend: React 19, TypeScript, Material UI 7
- Backend: Tauri v2, Rust
- Database: SQLite (via rusqlite)
- Build: Vite 7
geekfit/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── contexts/ # React contexts (User, Theme, Wellness, Locale)
│ ├── hooks/ # Custom hooks
│ ├── pages/ # Page components
│ ├── themes/ # Theme definitions
│ ├── i18n/ # Translations
│ └── utils/ # Utilities (XP calc, sounds)
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── lib.rs # Tauri commands & DB logic
│ │ ├── main.rs # App entry point
│ │ └── bin/cli.rs # CLI binary
│ ├── icons/ # App icons
│ └── Cargo.toml
└── package.json
GeekFit uses a RuneScape-inspired exponential XP curve:
Level 1: 0 XP
Level 10: 1,154 XP
Level 25: 8,740 XP
Level 50: 101,333 XP
Level 99: 13,034,431 XP
Each exercise levels independently, and your total level is the sum of all exercise levels.
Choose from 10 developer-favorite themes:
| Theme | Colors |
|---|---|
| GeekFit Dark | Cyan/Teal on dark |
| GeekFit Light | Cyan/Teal on light |
| Dracula | Purple/Pink/Green |
| Nord | Blue/Frost |
| Monokai | Yellow/Pink/Green |
| Solarized Dark | Blue/Orange |
| Solarized Light | Blue/Orange |
| GitHub Dark | Blue/Green |
| One Dark | Blue/Purple |
| Catppuccin | Mauve/Pink |
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Areas where help is needed:
- Translations - Add your language to
src/i18n/index.ts - Themes - Create new themes in
src/themes/index.ts - Exercises - Suggest desk-friendly exercises
- Badges - Design new achievement badges
- Tests - Improve test coverage
# Run tests
cd src-tauri && cargo test
# Check TypeScript
npx tsc --noEmit
# Check formatting
cargo fmt -- --check
cargo clippy -- -D warningsMIT License - see LICENSE for details.
- Inspired by RuneScape XP system
- Theme colors from Dracula, Nord, Catppuccin
- Built with Tauri and Material UI
Stay fit, keep coding!






