A lightweight, mobile-first workout timer application specifically designed for bicep training. Built with React, Bun, Tailwind CSS, and DaisyUI, this application helps users follow a structured bicep workout routine with timed exercises and visual cues.
- Structured Workout Plan: Pre-defined bicep exercises with appropriate durations
- Visual Timer: Large, easy-to-read countdown timer for each exercise
- Progress Tracking: Visual progress bar showing completion status
- Exercise Instructions: Clear instructions for proper form during each exercise
- Mobile-First Design: Optimized for mobile devices with a beautiful Ghibli-inspired UI
- Audio Cues: Sound notifications when transitioning between exercises
- Vibration Feedback: Haptic feedback on mobile devices during transitions
- Intuitive Controls: Simple start, pause, and reset functionality
- Screen Wake Lock: Prevents screen from turning off during workouts
- Farcaster Integration: Share your workout completion on Farcaster
- DaisyUI Integration: Added DaisyUI for a beautiful Ghibli-inspired UI
- JSON-Based Exercise Data: Moved exercises to a separate JSON file for easier customization
- Improved Sound Handling: Enhanced audio playback for better browser compatibility
- Mobile Optimizations: Improved layout and controls for mobile devices
- Wake Lock API: Added support to keep the screen on during workouts
- Restart Button: Added a dedicated restart button at workout completion
- React: Frontend framework
- Bun: JavaScript runtime and package manager
- Vite: Build tool and development server
- Tailwind CSS: Utility-first CSS framework
- DaisyUI: Component library for Tailwind CSS
- Farcaster Frame SDK: Integration with Farcaster social platform
Exercises are now stored in a JSON file (public/exercises.json
) for easy customization:
[
{
"name": "Wide DB Curl",
"duration": 60,
"id": "ex-1",
"instruction": "Hold dumbbells with palms up and arms wider than shoulder-width, then curl up while keeping elbows fixed."
},
{
"name": "Hammer Curl",
"duration": 60,
"id": "ex-2",
"instruction": "Hold dumbbells with palms facing each other, then curl up while maintaining the neutral grip throughout the movement."
},
{
"name": "Drag Curl",
"duration": 60,
"id": "ex-3",
"instruction": "Curl the weights while keeping them close to your body, dragging them upward as your elbows move backward."
},
{
"name": "Reverse DB Curl",
"duration": 60,
"id": "ex-4",
"instruction": "Hold dumbbells with palms facing down, then curl up while maintaining the overhand grip to target the forearms and brachialis."
},
{
"name": "DB Straight Curl",
"duration": 60,
"id": "ex-5",
"instruction": "Hold dumbbells at your sides with palms facing forward, then curl straight up without letting your elbows move forward."
}
]
- Bun (JavaScript runtime and package manager)
- A modern web browser (Chrome, Firefox, Safari, Edge)
- Dumbbells for performing the exercises
-
Clone the repository:
git clone https://github.com/ngmisl/bicep-blaster.git
-
Navigate to the project directory:
cd bicep-blaster
-
Install dependencies:
bun install
-
Start the development server:
bun run dev
-
Open your browser and navigate to
http://localhost:5173
bun run build
The built files will be in the dist
directory, ready to be deployed to your hosting provider.
To customize the workout routine, modify the public/exercises.json
file. Each exercise object should include:
{
"name": "Exercise Name",
"duration": 60,
"id": "unique-id",
"instruction": "Detailed instructions for the exercise"
}
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Android Chrome)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the Unlicenced license - see the LICENSE file for details.
- Inspired by high-intensity interval training (HIIT) workout methods
- UI design inspired by Studio Ghibli animations
- DaisyUI for the beautiful component library
- Farcaster for social sharing integration
- User-customizable exercise durations
- Ability to save and load different workout routines
- Integration with fitness tracking apps
- Voice guidance for exercises
- Offline support with Progressive Web App (PWA) features
- Workout statistics and history